annotation注解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Spring 3.x 全注解配置的简介与内容
web.xml
applicationContext.xml
xmlns:xsi="/2001/XMLSchema-instance" xmlns:aop="/schema/aop" xmlns:tx="/schema/tx" xmlns:context="/schema/context" xsi:schemaLocation=" /schema/beans /schema/beans/spring-beans-3.0.xsd /schema/aop /schema/aop/spring-aop-3.0.xsd /schema/tx /schema/tx/spring-tx-3.0.xsd /schema/context /schema/context/spring-context-3.0.xsd" default-autowire="byName"> 。。。。
代码中
/* JSR-250标准的注解*/
@Repository // DAO 类级别
@Service // service服务层类级别
@Component // 适用不是以上两种的类类级别
@Controlle // web层控制器类级别
@Resource // 注入的对象类属性级别
它有name参数,缺省时,Spring 将这个值解释为要注射的bean 的名字。即遵循by-name 的语法,将继承于字段名或者setter 方法名:如果是字段名,它将简化或者等价于字段名;如果是setter 方法名,它将等价于bean 属性名
@Scope("singleton") // 或prototype 类级别
@PostConstruct
@PreDestroy
当一个方法带有这些注解之一时,将被在其生命周期与Spring 生命周期接口的方法或者显式声明回调方法同一刻上调用。下面的例子里,缓存将预置于初始化与销毁阶段。
public class CachingMovieLister {
@PostConstruct
public void populateMovieCache() {
// populates the movie cache upon initialization...
}
@PreDestroy
public void clearMovieCache() {
// clears the movie cache upon destruction...
}
}
[分享]Spring注释和简化配置简单介绍
2010-02-26 10:16
可以说,在Java开发中离不开Spring。在Spring 2.5及以后的版本中,提供了注释和命名空间来简化Spring的配置。
本文就在实际应用中,把最常用的注释和配置做个简单的整理和介绍,也就是本人使用最多的一些功能,其他更高级的功能可以参考Spring官方文档(/documentation)或是通过Google一下。
一、@Autowired注释
以前给一个Bean配置属性时,Bean必须配置
有了@Autowired注释后,我们可以简化配置文件和getters和setters方法。
1、注释属性
@Autowired
private BeanClassName propName;
当然,我们还必须告诉Spring容器,当它启动时,就去扫描所有的Bean,然后自动注入。
class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/> 我们也可以注释构造函数和方法。 2、注释构造函数 @Autowired public MainBean(PropBeanA propBeanA, PropBeanB propBeanB){ this.propBeanA = propBeanA; this.PropBeanB = PropBeanB ; } 3、注释方法 @Autowired public void setPropBean(PropBean propBean) { this.propBean = propBean; } 4、@Autowired的相关属性 在默认情况下使用@Autowired注释进行自动注入时,Spring容器中匹配的候选Bean数目必须有且仅有一个。当Springp容器找不到一个匹配的Bean时(可能是没有配置该Bean或是Bean的属性名写错了),Spring容器将抛出BeanCreationException异常,并指出必须至少拥有一个匹配的Bean。 (1)当Bean是可选的,或是不能确定Bean一定有,可以用@Autowired(required = false),这样在找不到匹配Bean 时也不报错,该属性默认为true。 (2)与上面的相反,当Bean有多个时,我们可以通过@Qualifier("beanId")还唯一确定一个所引用的Bean,与@Autowired配合使用,它也有三种使用的地方。 二、@Component注释 虽然我们可以通过@Autowired在Bean类中使用自动注入功能,但是Bean还是在XML文件中通过 import ponent; @Component public class BeanClassNameA {