SpringIOC控制反转

1、IOC(控制反转)

原始创建对象的方式 A a=new A()

面向接口编程:A a=new B()(B是接口A的实现类)

IOC(控制反转):将对象的创建和管理权交给IOC容器进行创建和管理,而不是由对象本身来完成创建。在原始的程序设计中,对象之间的依赖关系是由对象自己进行管理的,而通过IOC容器我们可以将对象的创建和个对象之间的依赖关系交给IOC容器管理;

控制:将对象的控制权交给IOC容器;

反转:对象的创建交给spring来管理;

好处:很好的解耦合

 

2、依赖注入

 依赖注入(DI):是IOC的一种实现方式,用在容器创建对象时,动态的将该对象所依赖的其他对象引用注入到该对象中,这样就实现了个对象之间的解耦。

 2.1依赖注入的三种方式

1、setter注入:

在被注入的类中要将注入类的setter方法生成并在配置文件中配置

setter方法用property标签

 

2、构造方法注入

在被注入类中生成注入类的构造方法,并在配置文件中配置 

 

 3、注解方式自动装配

@Component(value="注入容器中的id,如果省略id为类名且首字母小写,value属性名称可以省略")=====>通用注解

@Repository(value="注入容器中的id,如果省略id为类名且首字母小写,value属性名称可以省略")=====>注入数据访问层
@Service(value="注入容器中的id,如果省略id为类名且首字母小写,value属性名称可以省略")========>注入业务层
 @Controller(value="注入容器中的id,如果省略id为类名且首字母小写,value属性名称可以省略")=====>注入控制层

 @Autowired
                语法:@Autowired(required = "true-默认、false、是否必须进行装配")
                修饰:成员变量或对应的构造方法
                含义:按照通过set方法进行“类型装配”,set方法可以省略
                注意:
                    1.默认是按照类型装配且同set方法
                    2.若容器中有一个类型可以与之匹配则装配成功,若没有一个类型可以匹配则报错
                        NoSuchBeanDefinitionException
                    3.若容器中有多个类型可以与之匹配,则自动切换为按照名称装配,若名称没有对应,则报错
                        NoUniqueBeanDefinitionException

 

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值