初探Spring注解
1.@Resource注解
@Resource是J2EE的注解,意思是说在容器里面找相应的资源。也可以
通过name属性指定它name的资源。可以注解到field或者setter上面
2.@Component
@Component和
<context:component-scan base-package="com.spring"></context:component-scan>
配合实现无XML配置,只通过注解配置及可将类放入资源容器中。
3.@Autowired和@Resource的区别
@Autowired 默认按类型装配,
@Resource默认按名称装配,当找不到与名称匹配的bean才会按类型装配。
4.@Service
@Service用于标注业务层组件(我们通常定义的service层就用这个)
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
@Component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。
这几个注解是当你需要定义某个类为一个bean,则在这个类的类名前
一行使用@Service("XXX"),就相当于讲这个类定义为一个bean,bean
名称为XXX; 这几个是基于类的,我们可以定义名称,也可以不定义,
不定义会默认以类名为bean的名称(类首字母小写)。
5.@PostConstruct 和 @PreDestroy
Spring容器中的Bean是有生命周期的,Spring允许在Bean在初始化完成
后以及 Bean 销毁前执行特定的操作,您既可以通过实现
InitializingBean/DisposableBean 接口来定制初始化之后 / 销毁之前的
操作方法,也可以通过 <bean> 元素的 init-method/destroy-method 属
性指定初始化之后 / 销毁之前调用的操作方法。
JSR-250 为初始化之后/销毁之前方法的指定定义了两个注释类,分别
是 @PostConstruct 和 @PreDestroy,这两个注释只能应用于方法
上。标注了 @PostConstruct 注释的方法将在类实例化后调用,而标注
了 @PreDestroy 的方法将在类销毁之前调用。