小学的门户网站建设,如果建立网站,做网站做手机app要学什么软件,小程序首页模板在spring中#xff0c;Bean的执行流程为启动spring容器#xff0c;实例化bean#xff0c;将bean注册到spring容器中#xff0c;将bean装配到需要的类中。
既然我们需要将bea装配到需要的类中#xff0c;那么如何实现呢#xff1f;这篇文章#xff0c;将来阐述一下如何实… 在spring中Bean的执行流程为启动spring容器实例化bean将bean注册到spring容器中将bean装配到需要的类中。
既然我们需要将bea装配到需要的类中那么如何实现呢这篇文章将来阐述一下如何实现将bean装配到需要的类中我们叫它对象装配或者对象注入。 一.对象装配的三种方法
对象装配主要有三种方法
1.属性注入
2.构造方法注入
3.setter方法注入 1.属性注入
属性注入可以使用Autowired注解这相当于从spring里拿了一个对象。
属性注入优点是简单方便易于使用。缺点是只能在IoC容器使用不能在非IoC容器使用。并且只有在使用的时候才会出现空指针异常很容易违背单一设计原则
虽然缺点多但依然是最常用的在目前因为它的优点简单易用让它非常突出如果违反了单一原则也可以通过代码来解决 2.setter方法注入 Setter方法注入
优点是完全符合单一设计原则因为使用set方法传参就是只传入一个对象
缺点是无法注入一个不可变对象final修饰的对象注入的内容可以被修改可以调用set方法修改 Settr方法是spring早期推荐的注入方法在通用性上不如构造方法现在的spring以及推荐使用构造方法注入的方式来进行注入。 3.构造函数注入 构造方法注入
构造方法注入式spring官方推荐的注入方式它的优点是通用性好在注入之前能够保证注入的对象不为空。可以注入不可变对象注入的内容不可以被修改注入的对象会被完全初始化
它的缺点是如果有多个注入会显得臃肿代码量多。 单一设计原则简单点说就是一个类只干一件事情只负责一个职责对于一个类不能让它负责多个职责