1、为什么可以用@Autowired注解接口,而不是一定要注解实现类
因为在实现类上有添加@Service注解,并且也配置了spring的自动扫描service的包,所以spring容器会自动加上这个实现类,然后在Autowrited的地方会根据类型匹配,将对应的实现类注入,所以@Autowired那里就相当于:
接口类型 = new 接口实现类型,也就是说实际上注入的也是实现类。
2、比如一个ServiceTest 是个接口 ServiceTestImpl 是实现类 我们注解只要写在实现类上 而接口不要配置注解 这是为什么呢
注解是为了IOC,让spring来创建对象。你会对一个接口实例化创建对象么~~~
3、spring框架注入一个对象,下一次从spring容器中取出该对象时还是他本身,而不是一个新的对象,即该对象的构造函数只会执行一次