【Spring】设值注入和构造注入
来源:互联网 发布:最好听的英文歌知乎 编辑:程序博客网 时间:2024/06/05 04:07
设值注入
概念: 指 IoC容器通过成员变量的setter方法来注入被依赖对象
接口
public interface User{ public addCard();}
public interface Card{ public String getCardId();}
接口的实现
public class Employee impements User{ private Card card; public void setCard(Card card){ this.card = card; } public void addCard(){ System.out.println(card.getCardId); }}
public class BankCard impements Card{ public String getCardId(){ return "cardid"; }}
public class ElectricityCard impements Card{ public String getCardId(){ return "cardid"; }}
XML 配置文件
<beans ....> <bean id="employee" class="com.service.impl.Employee"> <property name="card" ref="bankCard" /> </bean> <bean id="bankCard" class="com.service.impl.BankCard" /> <bean id="electricityCard" class="com.service.impl.ElectrictyCard " /></beans>
main方法
public static void main(String[] args) throws Exception { ApplicationContext ac = new ClassPathXmlApplicationContext("beans.xml"); Employee e = ac.getBean( "employee" , User.class );}
构造注入
概念: 利用构造器,在构造实例时,为其完成依赖关系的初始化
接口同上
……..
部分实现
public class Employee impements User{ private Card card; public Employee(Card card){ this.card = card; } public void addCard(){ System.out.println(card.getCardId); }}
XML 配置文件
<beans ....> <bean id="employee" class="com.service.impl.Employee"> <constructor-arg ref="electricityCard" /> </bean> <bean id="bankCard" class="com.service.impl.BankCard" /> <bean id="electricityCard" class="com.service.impl.ElectrictyCard " /></beans>
小结
在Spring中,采用配置文件管理Bean的实现和依赖,通过容器中的反射来产生并初始化组件,同时各组件面向接口编程,这样组件间的耦合关系为接口层次
设置注入更容易理解,多数采用这种方式;构造注入可以决定依赖关系的注入顺序,但是可能会导致构造器笨重
对于依赖关系无须变化的注入,采用构造注入;而其他依赖关系的注入,采用设值注入。
阅读全文
0 0
- 【Spring】设值注入和构造注入
- Spring的注入方式:设值注入和构造注入
- Spring注入:设值注入、构造注入
- Spring设值注入和构造注入的比较
- Spring bean 设值注入和 构造注入
- Spring的构造注入和设值注入
- spring中的二种注入方式设值注入和构造注入简单例子
- Spring的注入案例分析(设值注入和构造注入)
- Spring之构造注入与设值注入
- spring注入:设值注入
- spring中的依赖注入和控制反转(二)——Spring 设值注入和构造注入比较
- Spring IOC 构造方法注入和设值注入的比较
- spring框架学习(一):设值注入和构造注入
- spring-DI注入(1设值注入,2构造注入,3集合注入)
- 设值注入和构造注入的比较
- 设值注入和构造注入的比较
- Spring设值注入
- Spring设值注入
- 三款变两款!Google取消代号为muskie的Pixel设备
- 分析师:腾讯财付通支付份额将在2018年超越支付宝
- Uber核心团队濒临瓦解,二把手离职
- 暗云III攻击警报仍未解除,CNCERT发布校园网安全公告
- 苹果更新条款:明确“打赏”须走内购,抽成30%
- 【Spring】设值注入和构造注入
- nyoj27 水池数目
- Linux搭建小型服务器——文件共享以及邮件服务器
- MongoDB 索引
- CNCERT国家互联网应急中心开通暗云感染查询服务 推荐腾讯电脑管家查杀
- 欧拉-伯努利梁横向振动
- 专访 MoPaaS 鲁为民:曾两次转型,今联袂阿里、微软,业务将扩展至北美
- iPhone 8不能支持千兆基带,全因苹果故技重施挖的坑?
- 苹果或将为高校赔偿2.34亿美元,20个月的专利纠纷就此尘埃落定?