码迷,mamicode.com
首页 > 编程语言 > 详细

2020.10.19-Spring2.x初次学习

时间:2020-10-20 16:18:52      阅读:25      评论:0      收藏:0      [点我收藏+]

标签:规则   ora   let   结构   产生   文件   注入   对象   客户   

写下这个只是想记录一下自己的学习过程,并且提供温故知新的材料。

 

(一)

首先需要强调的是Beans和.xml配置文件。这两个与Spring很重要的特点IOC(控制反转)和DI(依赖注入)有关。

简单来说,可以将bean看作是一个一个组件。组件整个群体可以有很多种类,但是它们需要遵守统一的调用规则,而Spring的松耦合结构也因此得以成立。

Q:什么是控制反转?

A:将对象的创建细节的工作交给Spring框架,而不是在代码细节中自己写。往常的编程中,类之间的调用可以在代码上很直接地看出来,即需要在调用者中创建、调用被调用者。其中最繁琐的是创建被调用者的时候,一些属性的初始化、重复写。这些细节消耗了程序员的精力,从而降低了对代码的逻辑性功能的注意。而IOC可以有效地将这些属性细节结合到.xml文件或者.properies文件中。在将beans注入的时候,自动装载对象的属性。避免了属性的多写与重复,简化了代码,使其专注与功能逻辑。

 

(二)

其次是beans的注入方式,比较重要的两个是“设值注入”和“构造函数注入”。

“设值注入”

使用被调用类中的set()方法,给对象的属性赋值。在.xml文件中标签是<property></property>。

“构造函数注入”

在类中没有set()方法而有“有参构造函数”,则使用构造函数给属性注入值。在.xml文件中标签是<constructor-arg></constructor-arg>。

两者的主要区别及使用特点

实体类变量过多的时候,使用set注入;若开发人员想让一些数据成员或资源变成只读或私有,则建议使用构造子注入。

 

(三)

最后是beans的作用域。

singleton:当一个一个bean的作用域设置成singleton,代表在IOC的容器中只会存在一个共享的bean实例。即在请求bean时,只要id相符合,只会返回同一个bean实例。【容器中只存在该id的bean的唯一实例】

prototype:某个bean的作用域为prototype时,每一次请求该bean(即将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法),都会产生一个新的bean实例。【容器中同时存在多个该bean的实例】(注意需要在客户端代码中释放任何prototype bean所持有的资源。使用bean的后置处理器,该处理器持有要被清楚的bean的引用)

2020.10.19-Spring2.x初次学习

标签:规则   ora   let   结构   产生   文件   注入   对象   客户   

原文地址:https://www.cnblogs.com/RuideeChang/p/13843999.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!