@Autowired是根据类型进行自动装配的。
如果当Spring上下文中存在不止一个UserDao类型的bean时,就会抛出BeanCreationException异常;如果Spring上下文中不存在UserDao类型的bean,也会抛出BeanCreationException异常。我们可以使用@Qualifier配合@Autowired来解决这些问题(多个UserDao注入,标注那个变量是使用那一个)。如下:
@Autowired @Qualifier("userServiceImpl") public IUserService userService;
实际工作中:
/** 消息目的地:大金X. */ @Autowired @Qualifier("DJR_CallBack") private Destination destinationByDJR; /** 消息目的地:X信. */ @Autowired @Qualifier("JX_CallBack") private Destination destinationByJX; /** 消息目的地:X新. */ @Autowired @Qualifier("CX_CallBack") private Destination destinationByCX;
2、②可能不存在UserDao实例
这个怎么理解呢?
@Autowired(required = false) public IUserService userService