Spring框架学习3:bean元素属性
Spring的bean的常用属性
1.scope
scope用来配置bean对象是否是单例模式。单例模式是java的23种设计模式之一,指在这个项目运行中一个类的对象只会实例化一次,一般工厂创建的类都是单利模式。非单例模式叫多例模式或者原型模式。
spring工厂中对象默认都是单利模式,如果想要配置成多例模式,可以使用bean的scope属性,scope常用有两个取值:
singleton:单例模式,默认值
prototype:原型模式,多例模式
单例模式是工厂初始化时创建的,多例模式是工厂初始化后创建对象的时候创建的。
举例说明,这里还以上一篇的电脑E470为例来说明,首先默认单例模式,创建E470对象:
import com.zs.entity.impl.E470; import org.junit.Test; import org.springframework.context.support.ClassPathXmlApplicationContext;public class SpringTest {@Testpublic void test1() {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");E470 e470 = (E470) context.getBean("e470");E470 e4701 = (E470) context.getBean("e470");System.out.println(e470.equals(e4701));} }
View Code
结果为true,两个对象指向同一个地址。
然后将e470修改为多例模式:
再执行测试类,结果为false。
2.autowire
autowire是用来配置spring对象属性的默认的装配方式。有三个取值
2.1 no 默认值,不启用自动装配
2.2 byType:根据类型自动装配
2.3 byName:根据名称自动装配,如果bean的name属性没有声明,默认取值id
spring对象属性注入的两种方式:
1.设值注入
设置注入要求对象的实体类中必须生成get和set方法,然后再spring工厂中就可以使用property属性来实现设值注入
2.构造注入
构造注入要求:
1.必须生成有参构造方法,
2.在工厂中配置有参构造
设值注入:使用起来比较直观,以后项目中大多数情况都采用设值注入,必须给对象生成get和set方法
构造注入:不用生成get和set方法,看起来不太直观。
转载于:https://www.cnblogs.com/Zs-book1/p/10995642.html
Spring框架学习3:bean元素属性相关推荐
- Spring框架学习笔记,超详细!!(4)
Java小白开始学习Spring框架,一方面,跟着视频学习,并记录下学习笔记,方便以后复习回顾.另一方面,发布学习笔记来约束自己,学习路程还很遥远,继续加油坚持!!!希望能帮助到大家! 另外还有我的牛 ...
- Spring框架学习笔记(三)(AOP,事务管理)
Spring框架学习笔记(三) 九.AOP 9.1 AOP的注解配置 (1) 新建计算器核心功能(模拟:不能在改动核心代码) (2) 建立一个普通的Java类写增强代码(面向切面编程),使用Sprin ...
- Spring框架学习(二)
Spring框架学习笔记---->AOP AOP概念 AOP:aspect oriented programing,面向切面编程. 将软件的各个模块,按照横向的角度进行观察,发现各个模块之间存在 ...
- Spring框架中XML配置特殊属性注入
Spring框架中XML配置特殊属性注入 前言 创建测试类 其他类型属性 前言 Spring框架中,在通过set方式进行属性注入时,可能会遇到某些特殊字符的注入,例如:null和某些标签字符" ...
- Spring框架中的Bean
1.什么是Bean? 在Spring框架中,Bean是指一个由Spring容器管理的对象.这个对象可以是任何一个Java类的实例,例如数据库连接.业务逻辑类.控制器等等.Bean实例的创建和管理是由S ...
- Spring框架学习教程,详解Spring注入bean的几种方式
首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入. 依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Sprin ...
- Spring框架基础(2)----Bean的创建及标签属性
一.实例化Bean的三种方式 ⽅式⼀:使用无参构造函数 在默认情况下,它会通过反射调⽤⽆参构造函数来创建对象.如果类中没有无参构造函数,将创建失败. <bean id="userSer ...
- spring框架学习(一):Bean的装配方式 ——基于注解的装配、自动装配
Bean的装配方式 基于注解装配 常用注解: 总结 自动装配 [序言] 在前面的例子中我们就可以看到了使用基于XML方式的缺点了:如果应用中有较多的Bean对象,则会导致xml文件过于臃肿,给后续的维 ...
- Spring框架学习笔记01:初探Spring——采用Spring配置文件管理Bean
文章目录 一.Spring概述 二.入门案例演示 (一)创建Maven项目[SpringDemo2021] (二)在pom.xml文件里添加依赖 场景:勇敢的骑士去完成杀龙的任务. (三)创建杀龙任务 ...
最新文章
- 廖雪峰python教程书-Python 爬虫:把廖雪峰的教程转换成 PDF 电子书
- ant警告 “warning: 'includeantruntime' was not set”解决方法
- python代码打开可执行文件_将自己的Python代码打包成exe文件(更换设备可运行的)...
- 牛客题霸题目及题解汇总
- 第一款青少年搜索引擎“花漾搜索“APP正式上线
- NLP硬核入门-隐马尔科夫模型HMM
- 在.Net中进行SQL Server数据库备份与还原操作实用类
- 360兼容模式页面错位_如何处理网站兼容性
- 计算机应用基础教程清华大学,清华大学出版社-图书详情-《大学计算机应用基础教程(第3版)》...
- 初入门-游戏设计思路拆解
- Easy CHM软件使用方法【申明:来源于网络】
- 基于java的健康管理平台设计与实现(含源文件)
- 百度竞价新人提升赚钱概率的技巧方法
- 电脑知识与技术杂志电脑知识与技术杂志社电脑知识与技术编辑部2022年第15期目录
- 下载加速小妙招,我不允许你不知道
- 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明
- 8脚语音芯片指的是什么?有什么特点?以及如何区分和选型
- 在android studio中制作九宫格图片
- 战地五自定义服务器在哪里,《战地5》推出自定义私人服务器!基础类型免费开放...
- Java使用JAVE获取MP4播放时长