控制反转和依赖注入
摘自 《J2EE开发颠覆者 - spring boot 实战》
控制反转(Inversion of Contro-IOC) 和依赖注入(dependency injection - DI)在Spring环境下是等同的概念。控制反转是通过依赖注入实现的。所谓依赖注入指的是容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。
依赖注入的目的是为了解耦,体现了一种“组合”的理念。
Spring IoC 容器(ApplicationContext)负责创建Bean, 并通过容器将功能类Bean注入到你需要Bean中。Spring使用xml、注解、Java配置、Groovy配置实现Bean的创建和注入。
Spring 容器通过解析配置元数据(包括Xml配置、注解配置或Java配置)进行Bean初始化、配置和管理依赖。
声明Bean的注解
- @Component 组件,没有明确的角色。
- @Service 在业务逻辑层(servcie层)使用。
- @Repository 在数据访问层(dao层)使用。
- @Controller 在展示层(MVC - Spring MVC)使用
注入Bean的注解
- @Autowired Spring提供的注入注解。
- @Inject JSR-330提供的注解。
- @Resource