Spring4 Ioc Enhancement

一、Map依赖注入

// 这里将作如下注入:  key是bean的名称, value是所有实现了BaseService的Bean
@Autowired
private Map<String, BaseService>  map;A

二、List/数组注入

// 这里会将所有实现了BaseService的Bean注入到list中, 单这里是没有顺序的
@Autowired
private List<BaseService> list;

// 如果需要顺序, 那么可用@Order来注解服务
@Order(1)
@Service
public class UserService extends BaseService<User>{}

三、@Lazy可以延迟依赖注入

@Lazy
@Service
public class UserService extends BaseService<User>{}

@Lazy
@Autowired
private UserService userService;

四、@Conditional

@Profile("local")
@Profile("remote")
@ActiveProfiles("remote")
@Conditional()

参考;

五、Spring内联了objenesis类库, 这样基于CGLIB的代理类不在要求必须有空参构造函数了

Published: July 18 2014