依赖注入

控制翻转(Inversion of Control-IOC)和依赖注入(dependency injection-DI)在Spring环境下是同等概念,控制翻转是通过 依赖注入实现的。所谓依赖注入指的是容器负责创建对象和维护对象间的依赖关系,而不是通过对象本身负责自己的创建和解决自己的依赖。

依赖注入的主要目的是为了解耦,体现了一种“组合”的理念。

将组合与继承对比,继承一个父类,子类将于父类耦合,组合另一个类则使得耦合度大大降低。

Spring IoC容器(ApplicationContext)负责创建Bean,并通过容器功能类Bean注入到需要的Bean中。

Spring提供使用xml、注解、Java配置、groovy配置实现Bean的创建和注入。

无论是xml配置、注解配置还是Java配置,都被称为配置元数据,Spring容器解析这些配置元数据进行Bean初始化、配置和管理依赖。

声明Bean的注解:

1、@Component组件,没有明确的角色

2、@Service在业务逻辑层(Service层)使用

3、@Repository在数据访问层(Dao层)使用

4、@Controller在展现层(MVC→Spring MVC)使用

注入Bean的注解一般情况下通用:

1、@Autowired:Spring提供的注解

2、@Inject:JSR-330提供的注解

3、@Resource:JSR-250提供的注解

@Autowired、@Inject、@Resource可注解在set方法上或者属性上。

原文地址:https://www.cnblogs.com/yourGod/p/9112037.html