标签:
在Spring3 版本中,(@Repository @Controllor @Service)这3个注解和 @Component 是等效的,Spring会在后续版本中增加这三个注解的特殊功能。
Spring Annotation
@Service:用于标注业务层组件
@Controller:用于标注控制层组件(如struts中的action)
@Repository:用于标注数据访问组件,即DAO组件
@Component:泛指组件,当组件不好归类的时候,可以使用这个注解进行标注
@Autowired,只不过@Autowired按byType自动注入, @Autowired 可以对成员变量、方法以及构造函数进行注释,可以结合@Qualifier按byName装配。@Autowired(required=false)代表允许依赖对象为null。
@Qualifier:标注对象是成员变量、方法入参、构造函数入参。正是由于注释对象的不同,所以 Spring 不将 @Autowired 和 @Qualifier 统一成一个注释类。
Java Annotation
JSR-250规范定义的注解: @Resource、@PostConstruct、@PreDestroy。
@Resource:相当于@Autowired,@Resource有两个属性是比较重要的,分是name 和type,Spring将@Resource注解的name属性解析为bean的名字,而 type属性则解析为bean的类型。所以如果使用name属性,则使用byName 的自动注入策略,而使用type属性时则使用byType自动注入策略。如 果既不指定name也不指定type属性,这时将通过反射机制使用byName 自动注入策略。
@PostConstruct: 标识Bean在初始化的时候执行
@PreDestory: 表示在Bean在对象销毁的时候执行
标签:
原文地址:http://www.cnblogs.com/imzhangtx/p/4545607.html