天天看点

Spring IOC(控制反转、依赖注入)

一、介绍

IOC(Inversion of Control)。

        控制反转IOC(Inversion of Control)和依赖注入DI(Dependency Injection)是同一个概念,IOC是目的,DI是方法手段。通常由调用者创建被调用者的实例,但spring中创建被调用者的实例由spring完成,降低组件之间的耦合度。

注入方式。

  1)、配置注入(Xml)。配置注入分为set注入和构造注入,分别对应对象中的属性和构造方法。

  2)、配置注入(Java)。就是用java代码来实现xml配置的实现。要使用到注解@Configuration和@Bean来实现。

  3)、注解注入。先在xml配置文件或者java启动类上声明扫描的包。然后在被引入类上声明注解(@Component无明确的、@Controller控制层、@Service业务逻辑层、@Repository数据访问层)。 最后在引入地方的字段上使用注解@Autowire或者@Resource进行注入。其中@Resource不是Spring自带的。基本类型字段的注入使用@Value注解。

注解@Autowire和@Resource的区别。

        对比项               @Autowire             @Resource

        注解来源            Spring注解            JDK注解(JSR-250标准注解,属于J2EE)