读书人

浅谈Spring引文

发布时间: 2012-09-19 13:43:54 作者: rapoo

浅谈Spring注解

在一个稍大的项目中,通常会有上百个组件,如果这些组件采用xml的bean定义来配置,显然会增加配置文件的体积,查找以及维护起来也不太方便。 Spring2.5为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了 @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件时一样的。要使用自动扫描机制,我们需要打开以下配置信息:

???

其中base-package为需要扫描的包(含所有子包),在目前的 Spring 2.5的版本中,这4个注释是等效的,但在实际应用中我们会根据注解的命名而用于不同的类,具体情况如下
@Service服务层组件,用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Chinese实例化为chinese,如果需要自己改名字则:@Service("你自己改的bean名")。??

@Controller用于标注控制层组件(如struts中的action)

@Repository持久层组件,用于标注数据访问组件,即DAO组件

@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。??

例:

@Autowired      @Qualifier("chinese") private Man man; 

???
否则可以省略,只写@Autowired,注入时不要new 这个注入的类,因为spring会自动注入,如果手动再new的话会出现错误,然后属性加上@Autowired后不需要getter()和setter()方法,Spring也会自动注入

?

?

?

读书人网 >软件架构设计

热点推荐