Spring常用注解整理(按照功能分类)
一、一个接口多个实现类的注入方式
(一)使用@Qualifier指定加载接口的实现类
接口
@Service
public interface AbstractService {
void sayHello();
}
实现类1
@Service("service1")
public class AbstractServiceImpl implements AbstractService{
@Override
public void sayHello() {
System.out.println("say hello 1");
}
}
实现类2
@Service("service2")
public class AbstractServiceImpl2 implements AbstractService{
@Override
public void sayHello() {
System.err.println("say hello 2");
}
}
注入方式
public class TestController {
@Autowired
@Qualifier("service1")
private AbstractService abstractService;
// do sth
}
(二)、使用@Primary指定首选加载类
注入方式
@Primary
public class AbstractServiceImpl implements AbstractService{
@Override
public void sayHello() {
System.out.println("say hello 1");
}
}
二、@Lazy懒加载
在类上使用@Lazy注解(需要配合Spring其他的注解),表明该类使用懒加载方式。即,类不在Spring容器初始化的时候创建类,而是在要使用到的时候才创建。
@Lazy
public class LazyTestBean{
// field
// method
}

浙公网安备 33010602011771号