IOC&DI

控制反转IOC、依赖注入DI

控制反转IOC:删除new对象的代码,交给IOC容器管理,加上@Component
依赖注入DI:@Autowired ,就可以实现程序运行时IOC容器自动注入需要的依赖对象

Bean

声明bean的四大注解:
@Component
=@Controller (标注在控制层类上)
= @Service (标注在业务层类上)
= @Repository (标注在数据访问层类上)

bean的名字,默认为类名首字母小写。

bean想要生效,还需要被组件扫描@ComponentScan。
@ComponentScan注解虽然没有显式配置,但是实际上已经包含在了启动类声明注解 @SpringBootApplication 中,默认扫描的范围是SpringBoot启动类所在包及其子包。
IOC&DI_第1张图片
IOC&DI_第2张图片

依赖注入

@Autowired注解,默认是按照类型进行自动装配的(去IOC容器中找某个类型的对象,然后完成注入操作)
那如果在IOC容器中,存在多个相同类型的bean对象,会报错,解决:

  • @Primary
    IOC&DI_第3张图片

  • @Qualifier
    在@Qualifier的value属性中,指定注入的bean的名称。
    IOC&DI_第4张图片

  • @Resource
    按照bean的名称进行注入
    IOC&DI_第5张图片

你可能感兴趣的:(java)