@Required & @Autowired

来源:互联网 发布:字母哥体测数据 编辑:程序博客网 时间:2024/05/20 19:49

@Required & @Autowired的异同点:

相同点:
  1. 都可以用于修饰setter方法
  2. spring框架都自动检查是否配置了setter方法对应的属性,没有会抛出异常
不同点:
  1. @Aotowired可以修饰属性,在属性中使用 @Autowired 注释来除去 setter 方法,对应的属性在POJO中可以不写setter方法,当spring遇到一个@Aotowired修饰的属性时,会用autowired=”byType”的方式自动装载。
  2. @Autowired 的(required=false)选项,默认情况下两者是相同的,但可以使用@Autowired(required=false)使得修饰的setter方法对应的参数不配置也可以运行。
    @Autowired(required=false)
    public void setAge(Integer age) {
    this.age = age;
    }

    未配置age属性也可运行。
  3. @Autowired可以修饰构造方法
    @Autowired
    public TextEditor(SpellChecker spellChecker){
    System.out.println("Inside TextEditor constructor." );
    this.spellChecker = spellChecker;
    }

    即时bean中没有使用construct-arg配置spellChecker,也会自动装载。
原创粉丝点击