欢迎来到天天文库
浏览记录
ID:23945273
大小:40.00 KB
页数:4页
时间:2018-11-12
《spring注解使用和与配置文件关系》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Spring注解使用和与配置文件的关系1注解概述与容器管理机制Spring2.5中除了提供@Component注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service和@Controller。在目前的Spring版本中,这3个注释和@Component是等效的,但是从注解类的命名上,很容易看出这3个注解分别与持久层、业务层和控制层(Web层)相对应。虽然目前这3个注释和@Component相比没有什么新意,但Spring将在以后的版本中为它们添加特殊的功能。所以,如果Web应用程序采用了经典的三层分层结构的话,最好在持久层、业务层和
2、控制层分别采用@Repository、@Service和@Controller对分层中的类进行注释,而用@Component对那些比较中立的类进行注释。在一个稍大的项目中,通常会有上百个组件,如果这些组件采用xml的bean定义来配置,显然会增加配置文件的体积,查找以及维护起来也不太方便。Spring2.5为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了@Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件时一样的。要使用自动扫描
3、机制,我们需要打开以下配置信息:4、ttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd" > 其中base-package为需要扫描的包(含所有子包)在spring的配置文件里5、面只需要加上和,当然也可以使用base-package="*"表示全部的类,但一般情况下不这样使用,影响系统性能,通常如下使用:其中base-package为需要扫描的包(含所有子包)1注入方式:把DAO实现类注入到service实现类中,把service的接口(注意不要是service的实现类)注入到ac6、tion中,注入时不要new这个注入的类,因为spring会自动注入,如果手动再new的话会出现错误,然后属性加上@Autowired后不需要getter()和setter()方法,Spring也会自动注入。至于更具体的内容,等对注入的方式更加熟练后会做个完整的例子上来。2类注解说明类注解就是在类定义上标注的注解,不是在类定义的里面加标注,是在类的前面标注。主要是4个注解:@Service用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Chinese实例化为chinese,如果需要自己改名字则:@Service(7、"你自己改的bean名")。 @Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问的持久层组件,即DAO组件@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。例如:@ServicepublicclassVentorServiceImplimplementsiVentorService{ ……}@RepositorypublicclassVentorDaoImplimplementsiVentorDao{ ……}getBean的默认名称是类名(头字母小写),
4、ttp://www.springframework.org/schema/beans/spring-beans-2.5.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-2.5.xsd" > 其中base-package为需要扫描的包(含所有子包)在spring的配置文件里
5、面只需要加上和,当然也可以使用base-package="*"表示全部的类,但一般情况下不这样使用,影响系统性能,通常如下使用:其中base-package为需要扫描的包(含所有子包)1注入方式:把DAO实现类注入到service实现类中,把service的接口(注意不要是service的实现类)注入到ac
6、tion中,注入时不要new这个注入的类,因为spring会自动注入,如果手动再new的话会出现错误,然后属性加上@Autowired后不需要getter()和setter()方法,Spring也会自动注入。至于更具体的内容,等对注入的方式更加熟练后会做个完整的例子上来。2类注解说明类注解就是在类定义上标注的注解,不是在类定义的里面加标注,是在类的前面标注。主要是4个注解:@Service用于标注业务层组件,表示定义一个bean,自动根据bean的类名实例化一个首写字母为小写的bean,例如Chinese实例化为chinese,如果需要自己改名字则:@Service(
7、"你自己改的bean名")。 @Controller用于标注控制层组件(如struts中的action)@Repository用于标注数据访问的持久层组件,即DAO组件@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。例如:@ServicepublicclassVentorServiceImplimplementsiVentorService{ ……}@RepositorypublicclassVentorDaoImplimplementsiVentorDao{ ……}getBean的默认名称是类名(头字母小写),
此文档下载收益归作者所有