当前位置: 首页 > news >正文

设计高端网站哪家好百度云网站入口

设计高端网站哪家好,百度云网站入口,做电台需要的文章从哪个网站找,建站一条龙一、Spring中的依赖注入和依赖反转 依赖注入(Dependency Injection) 概念 依赖注入是一种设计模式,它允许在对象创建时将其依赖的对象传递给它,而不是让对象自己去创建或查找依赖对象。在Spring中,依赖注入是控制反转…

一、Spring中的依赖注入和依赖反转

  1. 依赖注入(Dependency Injection)
    • 概念
      • 依赖注入是一种设计模式,它允许在对象创建时将其依赖的对象传递给它,而不是让对象自己去创建或查找依赖对象。在Spring中,依赖注入是控制反转(Inversion of Control,IoC)的一种具体实现方式。
    • 注入方式
      • 构造函数注入
        • 通过类的构造函数来注入依赖对象。例如:
public class MyClass {private MyDependency dependency;public MyClass(MyDependency dependency) {this.dependency = dependency;}
}

在Spring配置中,可以这样配置:

<bean id="myDependency" class="com.example.MyDependency"/>
<bean id="myClass" class="com.example.MyClass"><constructor-arg ref="myDependency"/>
</bean>

或者使用Java配置:

@Configuration
public class AppConfig {@Beanpublic MyDependency myDependency() {return new MyDependency();}@Beanpublic MyClass myClass() {return new MyClass(myDependency());}
}
 - **Setter方法注入**- 通过类的Setter方法来注入依赖对象。例如:
public class MyClass {private MyDependency dependency;public void setDependency(MyDependency dependency) {this.dependency = dependency;}
}

在Spring配置中:

<bean id="myDependency" class="com.example.MyDependency"/>
<bean id="myClass" class="com.example.MyClass"><property name="dependency" ref="myDependency"/>
</bean>

或者Java配置:

@Configuration
public class AppConfig {@Beanpublic MyDependency myDependency() {return new MyDependency();}@Beanpublic MyClass myClass() {MyClass myClass = new MyClass();myClass.setDependency(myDependency());return myClass;}
}
 - **接口注入(不常用)**- 通过实现特定的接口来注入依赖对象。这种方式在实际应用中相对较少使用。
  1. 依赖反转(Dependency Inversion)
    • 概念
      • 依赖反转原则(DIP)是面向对象设计的五大原则之一。它强调高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象。在Spring中,依赖反转主要体现在将对象的创建和依赖关系的管理交给容器来完成。
    • 在Spring中的体现
      • 对象创建的反转
        • 在传统的编程方式中,对象通常是由使用它的类自己创建的。例如:
public class MyService {private MyRepository repository = new MyRepository();public void doSomething() {repository.saveData();}
}

在Spring中,对象的创建由容器负责。例如:

@Service
public class MyService {private MyRepository repository;@Autowiredpublic MyService(MyRepository repository) {this.repository = repository;}public void doSomething() {repository.saveData();}
}

这里的MyRepository对象不是由MyService自己创建,而是由Spring容器创建并注入到MyService中。
- 依赖关系管理的反转
- 传统方式下,对象之间的依赖关系是在代码中硬编码的。而在Spring中,依赖关系由容器根据配置来管理。通过配置文件(如XML配置文件)或注解(如@Autowired@Qualifier等)来指定对象之间的依赖关系,使得代码更加灵活和易于维护。例如,在XML配置中可以指定多个不同实现的依赖关系:

<bean id="myRepositoryImpl1" class="com.example.MyRepositoryImpl1"/>
<bean id="myRepositoryImpl2" class="com.example.MyRepositoryImpl2"/>
<bean id="myService" class="com.example.MyService"><property name="repository" ref="myRepositoryImpl1"/>
</bean>

可以通过修改配置文件轻松地切换MyService所依赖的MyRepository的具体实现。

http://www.hkea.cn/news/347657/

相关文章:

  • 免费网站模板psd网络营销的整体概念
  • 网站模板下载破解版环球军事新闻最新消息
  • 徐汇苏州网站建设东莞免费建站公司
  • 厦门网站建设哪家强深圳网站维护
  • 政府网站新媒体平台建设关键词权重查询
  • 重庆网站建设制作公司百度客服人工在线咨询电话
  • 微信公众号平台入口官网奶盘seo伪原创工具
  • 泉州网站建设公司推荐宁德市地图
  • 大厂县住房和城乡建设局网站刷百度指数
  • 低代码开发平台优缺点昆山seo网站优化软件
  • 网站开发年终总结网络营销战略的内容
  • 建立门户网站的意义营销推广网
  • 网站建设网站软件有哪些百度推广开户费用标准
  • 找家装修公司家装吉林seo外包
  • 保定医疗网站建设公司会计培训班初级费用
  • 最好的销售管理系统seo发帖网站
  • 德州乐陵德州seo公司seo批量建站
  • 贵州省建设监理协会官方网站seo代运营
  • 北京哪家做网站优化账号权重查询
  • 大唐网站建设培训管理平台
  • 男人和女人在床上做那个网站网络营销策划推广公司
  • 深圳市招投标交易中心天津谷歌优化
  • 厦门园网站忱建设百度推广怎么联系
  • 网站优化页面动态网站建设
  • 做网站域名公司每日重大军事新闻
  • 网站改版数据来源表改怎么做外链百科
  • wordpress怎样做单页网站谷歌查询关键词的工具叫什么
  • 县城做二手车网站自己建网站需要多少钱
  • 有没有专业做挂的网站引流推广方案
  • 购物网站开发文献综述百度收录需要多久