学好spring系列之理解DI(控制反转)

1.什么是spring框架以及spring框架的好处

首先必须得认识到spring框架是一种轻量级的J2E应用程序框架,它主要的重点就是IOC容器以及AOP面向切面编程(同时也是轻量级的),它是采用非侵入式的设计,所以可以很好的跟其他的框架结合起来使用,比如hibernate,structs,ibatis等框架,在开发的时候非常便利。

2.什么是spring框架的IOC容器呢?

IOC容器的全称是Inversion of Control,中文翻译过来一般称为控制反转;同时也有的文章或者称呼为Dependency Injection(DI),就是所谓的依赖注入。在学习的过程中,个人觉得如果使用控制反转这个观念来理解的话会比较困难,因为首先我们要明白没有用spring框架的时候,我们是怎么建立类的实例对象的,很显然是要用到New关键字,比如说有一个类Class A{};我们一般要用的时候一般是这样的 A a = new A();在使用类的实例对象这一个过程中,我们是主动的去创建对象的,但是现在应用spring框架后,spring容器就自动的为我们做好了这一步,就是我们要实例化类的时候自动帮我们执行了new这一步;所以说在对对象的管理上我们已经失去了主动权,主动权在spring容器的手中,我们只是从它的手上拿过来用就行了。这就是所谓的控制反转,权限的问题。

3.什么又叫依赖注入(Dependency Injection)?

其实这个很好理解,我们在做项目的时候经常会出现这种情况:假设有两个类A,B;我们要在B中引入A的实例化对象,首先我们是不是要在类B里面声明类A,然后才可以调用A里面的成员变量或者是方法。其实这就是依赖注入,依赖注入一种有三种,一种最常用的是setter注入,另一种是构造注入(偶尔使用),还有一种是接口注入(一般不会用到)。所以我们一般会用setter注入就好,构造注入也要了解。


4.怎么去实现setter注入以及构造注入?

1.setter注入

这个其实也不难理解,首先从字面来setter,其实就是set方法,我们在定义一个类的时候是不是要定义setter和getter方法,其实就是一个道理,我们在注入的时候要有setter要注入的类,可以说要声明一下吧。

public class studentDaoImpl {
    private Student student;
//通过setter的方法注入,就是下面这一步,目的是得到要注入的对象实例
	public void setStudent(Student student) {
		this.student = student;
	}
}


2.构造注入

跟上面的一个道理,不过我们不在用setter方法了,也是通过构造函数的方法实现注入:

public class studentDaoImpl {
    private Student student;
//通过构造函数的方法注入,就是下面这一步,目的是得到要注入的对象实例
	public studentDaoImpl(Student student) {
		this.student = student;
	}
    
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
学好Spring Cloud,可以按照以下步骤进行: 1. 熟悉Spring Boot:Spring Cloud是基于Spring Boot的,所以首先要熟悉和掌握Spring Boot的使用。可以通过官方文档、在线教程或相关书籍来学习。 2. 学习微服务架构:理解什么是微服务架构以及其特点与优势。可以阅读相关的书籍、论文或参加相关的培训课程。 3. 学习Spring Cloud组件:Spring Cloud包含了很多组件,如服务注册与发现、服务调用、负载均衡、分布式配置等。要学好Spring Cloud,需要逐个学习这些组件的原理、用法和配置方法。可以参考官方文档、在线教程或相关书籍。 4. 实践项目:通过实践项目来巩固所学的知识。可以选择一个简单的项目,并使用Spring Cloud来实现该项目的微服务架构。通过实际操作,加深对Spring Cloud的理解和掌握。 5. 参与社区:加入Spring Cloud的社区,与其他开发者交流和讨论,学习他们的经验和实践。可以参加一些相关的活动、会议或论坛,扩大自己的知识网络。 6. 持续学习:Spring Cloud是一个不断发展和更新的框架,要学好Spring Cloud,需要持续跟进最新的发展和版本更新。可以关注官方网站、邮件列表、博客、社交媒体等渠道,了解最新的资讯和技术动态。 总之,学好Spring Cloud需要不断的学习、实践和跟进最新的发展,同时也需要良好的自学能力和持续学习的态度。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值