首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Spring自动扫描跟管理Bean

2012-09-21 
Spring自动扫描和管理Bean在使用beans.xml文件配置容器管理的bean时,即使使用了注解方式来对bean属性进行

Spring自动扫描和管理Bean

在使用beans.xml文件配置容器管理的bean时,即使使用了注解方式来对bean属性进行装配的情况下,如果容器需要管理的bean太多,也会造成beans.xml文件的臃肿,所以spring提供了自动扫描及管理bean的方法。

?

要使用自动扫描功能,需要在配置文件中加入以下代码:

?Spring自动扫描跟管理BeanSpring自动扫描跟管理Bean

    ?经过上述配置后,在spring容器实例化的时候,容器会自动扫描“com.risetek”包下的所有类,我们只要在需要被容器管理的类上加上一个注解,容器就会将该类纳入容器进行管理了,而表示该类需要被容器管理的注解有以下几种:

    ?? @Component :表示该类是一个通用的Bean
    ?? @Service :表示该类是一个服务层的Bean
    ???@Controller :表示该类是一个控制层的Bean
    ?? @Repository :表示该类是一个数据访问层的Bean

    以上四种形式的注解都将会告诉spring容器,该类需要被容器管理,目前版本的spring对四种注解类型并没有做特殊的处理,四种注解的使用效果都是一样

    ?

    下面以@Componet为例,如何使用注解标识需要被管理的类:

    ??? PersonDaoImpl.java

    ?Spring自动扫描跟管理BeanSpring自动扫描跟管理Bean
      ?Spring自动扫描跟管理BeanSpring自动扫描跟管理Bean
        ?Spring自动扫描跟管理BeanSpring自动扫描跟管理Bean
          @Component??@Scope("prototype") ??public?class?PersonServiceBean?implements?PersonService?{ ????????@Resource??????private?PersonDao?personDao; ????????public?PersonServiceBean(){ ??????????System.out.println("PersonServiceBean...."); ??????} ?????? ??????//此方法会在构造方法执行之后执行 ??????@PostConstruct??????public?void?init()?{ ??????????System.out.println("init..."); ??????} ?????? ??????//此方法会在对象销毁之前执行 ??????@PreDestroy??????public?void?destory(){ ??????????System.out.println("destory..."); ??????} ??}??

热点排行