学习spring的第二天
对昨天的查漏:关于<bean>标签的scope属性,是由它决定原型和单例的,而不是说你java代码中用到了单例模式就是单例了。
其二就是lazy-init属性,它对于scope="singleton"是无用的,但是对于scope="prototype"来说,选择true,可以使初始化在getBean的时候进行,而不是在spring启动时,对singleton无用也是因为这个原因。
今天:主要是控制反转,依赖注入(所有被spring管理的bean,当他依赖一个其他的被spring管理的bean,那么spring负责把第二个bean注入第一个bean)
1.set访问器
1.1:在<bean></bean>中选择<property>,它由name属性,填写set方法中的字段名。在<property>中,有<set><map><list><props>之类的标签,可以用于对类中的相应类型的字段进行操作。以为他们不想那些简单类型或者类类型。再在这个标签中可以使用<value>往里面添加值,每种标签有相应的特点,比如<set>就可以和java中的Set一样可以防止重复值。在<set>同级别以及<value>中可以设置规定值的类型属性。
1.2:对于简单类型,直接在<property>中对name和value进行赋值。
1.3:对于类类型:在<property>中对name和ref属性进行设置 ,ref是指引用。
1.3.1:第一种是外部在创建一个指向该类的<bean id="x" class="x">,在ref中指向这个<bean>的id
1.3.2:第二种是内部嵌套:<property>中<bean>,再在<bean>中<property>
2.构造函数:<bean id="x" class="x"></bean>中有<constructor-arg>,如果是简单类型直接通过value属性进行赋值(不写name属性就是按照构造方法的参数顺序,其他类似name功能的还有index下表,以及type指定类型),但如果不是简单属性,在<construcotr-arg>中也有像上述所说的<set><list>之类的标签,差不多的用法。
3.控制反转:IOC:inverse of control。也有人把它理解成DI(dependency injection),依赖注入。
3.1不反转就是当你创建一个对象时,你要对它手动调用set方法初始化,而反转就是当你getBean得到一个对象后,它的所有属性已经设置好了,就是上面1和2讲的set和构造方法配置<bean>的注入,当然还有一种接口注入,我也不太清楚。
学习spring的第二天的更多相关文章
- #Spring实战第二章学习笔记————装配Bean
Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时, ...
- 深入浅出学习Spring框架(四):IoC和AOP的应用——事务配置
在前文 深入浅出学习Spring框架(一):通过Demo阐述IoC和DI的优势所在. 深入浅出学习Spring框架(三):AOP 详解 分别介绍了Spring的核心功能——IoC和AOP,光讲知识远远 ...
- 【转】Spring学习---Spring IoC容器的核心原理
[原文] Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国. IoC和DI的基本概念 IoC(控制反转,英文含义:Inverse of Control)是Spr ...
- 学习Spring——依赖注入
前言: 又开始动笔开了“学习Spring”系列的头…… 其实一开始写“学习SpringMVC”的几篇文章是出于想系统的了解下Spring以及SpringMVC,因为平时在公司中虽然每天都在使用Spri ...
- Stealth视频教程学习笔记(第二章)
Stealth视频教程学习笔记(第二章) 本文是对Unity官方视频教程Stealth的学习笔记.在此之前,本人整理了Stealth视频的英文字幕,并放到了优酷上.本文将分别对各个视频进行学习总结,提 ...
- 菜鸟学习Spring——60s配置XML方法实现简单AOP
一.概述. 上一篇博客讲述了用注解的形式实现AOP现在讲述另外一种AOP实现的方式利用XML来实现AOP. 二.代码演示. 准备工作参照上一篇博客<菜鸟学习Spring--60s使用annota ...
- 学习HTML5的第二周
---恢复内容开始--- 这是我学习H5的第二周,在本周,我独立完成了一个网站的首页和一个二级页,虽然在做网页的时候我遇到了许多问题,但我自己想办法解决了其中的大部分,只留下了一小部分没有头绪的问题等 ...
- 跟着刚哥学习Spring框架--创建HelloWorld项目(一)
1.Spring框架简介 Spring是一个开源框架,Spring是在2003年兴起的一个轻量级的开源框架,由Rod johnson创建.主要对JavaBean的生命周期进行管理的轻量级框架,Spri ...
- 学习Spring中遇到关于BeanFactory及测试类的问题
最近在学习Spring,使用的是Spring 5.0.1 学习书本中使用的是4.0 学习书本中使用以下来加载配置文件及设置 Resource resource = new ClassPathResou ...
随机推荐
- Ternsorflow 学习:001-通过例程,初步了解Tensorflow
前言 本章的目的是了解和运行 TensorFlow,在开始之前,让我们先看一段使用 Python API 撰写的 TensorFlow 示例代码,让你对将要学习的内容有初步的印象. 下面这段短小的 P ...
- Job 失败了怎么办?【转】
上一节讨论了 Job 执行成功的情况,如果失败了会怎么样呢? 修改 myjob.yml,故意引入一个错误: 先删除之前的 Job: 如果将 restartPolicy 设置为 OnFailure 会怎 ...
- 2-10 就业课(2.0)-oozie:10、伪分布式环境转换为HA集群环境
hadoop 的基础环境增强 HA模式 HA是为了保证我们的业务 系统 7 *24 的连续的高可用提出来的一种解决办法,现在hadoop当中的主节点,namenode以及resourceManager ...
- phpStudy隐藏后门预警
1.事件背景 近日,使用广泛的PHP环境集成程序包phpStudy被公告疑似遭遇供应链攻击,程序包自带PHP的php_xmlrpc.dll模块隐藏有后门,安恒应急响应中心和研究院随即对国内下载站点提供 ...
- IO、阻塞和非阻塞、目录
系统函数.系统调用 系统函数 open/close函数 函数原型 man 2 open // open, creat - open and possibly create a file or devi ...
- 056、Java中continue的用法
01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...
- JS: 图片轮播模板——左右移动,点击编码移动,自动轮播
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title> ...
- SQL创建表格——手写代码
打开phpstudy,打开Navicat for MySQL,进入要创建表格的数据库,点击上方“查询”按钮,“创建查询”,即可输入代码进行创建. 例: create table class( clas ...
- 利用ZXing.Net生成和识别二维码
ZXing.Net:ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库. github:https://github.com/micjahn/ZXing.Net 直接将字符 ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-play-circle
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...