小編認為:在專案使用程序中,@Autowire和@Resource差別不大,使用哪一個都可以
@Autowire
- 作用:可以對類成員變數,方法以及建構式進行標注,讓spring完成bean自動裝配(spring通過依賴注入創建實體)的作業,
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Autowired {
/**
* Declares whether the annotated dependency is required.
* <p>Defaults to {@code true}.
*/
boolean required() default true;
}
- 使用:
public class ConditionTitleServiceImpl implements IConditionTitleService {
//創建類的實體,無需new物件
@Autowired
private IDataResourceDao iDataResourceDao;
//set方法使用
private People people;
@Autowired
public void setPeople(People people){
this.people = people;
}
//構造法方法的使用
private People people;
@Autowired
public ConditionTitleServiceImpl(People people){
this.people = people;
}
……
}
@Resource
- 作用:按照名字進行匹配,如果沒有找到同名bean,則按照型別進行匹配,最終實作讓spring完成bean自動裝配(spring通過依賴注入創建實體)的作業,
@Target({TYPE, FIELD, METHOD})
@Retention(RUNTIME)
@Repeatable(Resources.class)
public @interface Resource {
……
}
- 使用
public class ConditionTitleServiceImpl implements IConditionTitleService {
@Resource
private IConditionTitleDao iConditionTitleDao;
……
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/255198.html
標籤:java
