控制反转:IOC,对象的创建控制权由程序自身转移到外部容器,这种思想称之为控制反转
依赖注入:DI,容器为应用程序提供运行时所需要的资源,称为依赖注入
Bean对象:IOC容器中创建,管理的对象,称为bean
@compent:将当前类交给IOC容器管理,成为IOC容器中的bean
三个衍生注解:
@Controller
@Service
@Repository mapper层
@RestController
包含@Repository和@controller
@Autowired:运行时,IOC容器会提供该类型的bean对象,并赋值给该变量
如果遇到依赖注入时发现有多个相同类型的bean的解决方法:
1.@Primary 在要注入接口类前面加@primary
2.@Qualifier 可以@Autowired+@Qualifier (要注入的bean名称)
3.@Resource 可以@Resource (name=“要注入的bean名称”)
@Autowired和@Resource的区别
1.@Autowired是spring提供的注解,@Resource是JDK提供的注解
2.@AutoWired依赖注入的是类型,@Resource依赖注入的是名称