Bean管理注解方式

基于注解方式管理bean

  注解创建对象

  1.@Component:普通类注解

  2.@service:业务层注解

  3.@Controller:控制层注解

  4.@Repository:持久层注解

  步骤:

    1.引入依赖: spring-aop 依赖

    2.配置spring文件:

      开启组件扫描,

        1.包之间用逗号隔开

        2.扫描包的上层目录

      <context:component-san base-package="" />

 

      开启组件扫描, 只扫描其中某个注解,其中use-default-filters="false" 是不使用默认到过滤器。 include-filter 包含的过滤器, type类型为注解, expression表达式为 所有的 @Controller 注解。

      表示扫描这个包下所有@controller注解

      <context:component-san base-package="" use-default-filters="false" >

        <context:include-filter type="annotaion" expression="org.springframework.stereotype.Controller"/>

      </context:component-san>

      扫描报下所有内容,context:exclude-filter, 设置哪些内容不进行扫描。 及@Controller 注解不扫描

      <context:component-san base-package=""  >

        <context:exclude-filter type="annotaion" expression="org.springframework.stereotype.Controller"/>

      </context:component-san>

    3.在类中添加注解

基于注解方式实现属性注入

  1.@Autowired  根据属性类型自动注入

    使用: 定义要引用的对象属性, 在属性上添加注解,注意:不需要set方法,已经封装好了。

    @Autowired

    private UserDao userdao;     

  2.@Qualifier  根据名称自动注入,需要和@Autowired配合使用

    使用: 如果有多个类型相同的对象,就只能使用名称自动注入

    @Autowired

    @Qualifier(value="userDaoImpl")

    private UserDao userdao;

  3.@Resouce  可以根据类型注入,也可以根据名称注入, 此注解非spring框架注解,而是javax中的

    根据类型注入  

    @Resouce

    private UserDao userdao;

    根据名称注入

    @Resouce(value=“userDaoImpl”)

    private UserDao userdao;

  4.@Value  基本数据注入

    @Value(value="abc")

    private String name;

完全注解开发

   不使用xml配置文件,添加注解扫描

   使用:

    创建一个普通类,在普通类上增加注解

    @Configuration  作为配置类,替代xml配置文件

    @ComponentScan(basePackage={"com.duobee.service, com.duobee.dao"})  设置扫描的包

 

    测试类ApplicationContext 接口到实现类为 AnnotationConfigApplicationContext(配置类.classs);

    ApplicationContext  ac = new AnnotationConfigApplicationContext(配置类.classs);

    

posted @ 2020-11-21 14:31  doubisme  阅读(114)  评论(0)    收藏  举报