一、Required

用于修饰属性的setter方法,表示该属性必须被配置初始化,否则抛出BeanInitializationException 异常。

  1. public class Student{
  2. private int age;
  3. @Required
  4. public void setAge(int age){
  5. this.age = age;
  6. }
  7. }

二、Autowired

Spring配置方式有两种种:xml、java config。
java config中使用最为频繁的是Autowired注解,字面意思是自动装配,在Spring中是指将Sring容器中的bean自动的和需要这个bean的类组装在一起。

Autowired可以修饰属性、方法等等。将 @Autowired 注释添加到需要该类型数组的字段或方法,则 Spring 会从 ApplicationContext 中搜寻符合指定类型的所有 bean

  1. public class SimpleMovieLister{
  2. @Autowired
  3. private MovieFinder movieFinder;
  4. @Autowired
  5. public void setMovieFinder(MovieFinder movieFinder){
  6. this.movieFinder = movieFinder
  7. }
  8. @Autowired
  9. public void prepare(MovieCatalog movieCatalog,
  10. CustomerPreferenceDao customerPreferenceDao) {
  11. this.movieCatalog = movieCatalog;
  12. this.customerPreferenceDao = customerPreferenceDao;
  13. }
  14. }

三、Qualifier

与Autowired结合使用,指定具体地用于自动装配的bean。如下:装配student1

  1. public class Profile {
  2. @Autowired
  3. @Qualifier("student1")
  4. private Student student;
  5. public Profile(){
  6. System.out.println("Inside Profile constructor." );
  7. }
  8. public void printAge() {
  9. System.out.println("Age : " + student.getAge() );
  10. }
  11. public void printName() {
  12. System.out.println("Name : " + student.getName() );
  13. }
  14. }

参考

1、Spring @Autowired 注释