spring中 Optional<>,Map依赖注入,List注入的使用

1.空指针终结者Optional<>
当使用@Autowired注入式,如果注入的实例不存在可能会报NullPointerException异常,平时可以使用@Autowired(required = false)来解决,也可以直接使用Optional<>

 @Autowired
 private Optional<UserDao> userDao;

2.Map 依赖注入

   @Autowired
   private Map<String, BaseService> map;

其中key是bean的名字,value是实现BaseService的Bean,可根据bean的名字来获取bean实例,适用于一个Web层需要使用多个BaseService实现类的情况

3.List注入

   @Autowired
   private List<BaseService> list;

这种注入方式实现了BaseService的Bean,但是顺序不确定,但是可以使用@Order接口来排序,这样书序就固定了

@Order(1)
@Service
public class UserService extends BaseService<User>{}
上一篇:Spring注解 @Resource和@Autowired比较


下一篇:@Autowired注解的原理、源码