XML提示配置
为eclipse添加Schema的提示配置
配置步骤如下
(1)复制配Schema地址
(如果没有配置文件,可以自己敲或者到Spring的解压目录下的spring-framework-5.1.9.RELEASE/docs/spring-framework-reference/core.html#spring-core查找)
(2)添加xml用户指定条目
(3)添加Schema路径、本地文件路径
注意:橙色框框内的Schame location在完成添加路径和地址时eclipse才会有该选项供给用户选择
bean的相关配置
标签的id和name 的配置
(1)id:使用了月生杜仲的唯一约束,里面不能出现特殊字符
(2)name:没有使用约束中的唯一约束(理论上可以出现重复,但是在实际的开发过程中不允许出现重复)
两者的联系和区别
在一般的使用情况下可以认为两者是一样的实现的是一样的功能,但是在如果配置文件的id必须是含有特殊字符的情况下进行定义这就需要切换至name来使用了
bean的生命周期的配置(了解)
步骤:
(1)首先在需要进行实例化的类中定义初始化方法以及销毁调用的方法
(不需要是接口中的方法,只需要是接口实现类的特有属性即可)
(2)在配置文件中配置初始化调用方法
(3)初始化调用方法会在对象被创建的时候进行调用,销毁方法在对象在销毁的时候被调用,如将类工厂关闭
bean的作用范围的配置(重点)
scope属性进行配置Bean的作用范围
scope有以下的几个数值
(1)singleton :默认的,Spring会采用单例模式创建这个对象
(2)prototype:多例模式(Struts2和Spring整合一定会用到)
(3)request: 应用在web项目中,Spring创建这个类以后就会将它存入到request范围中
(4)session:应用在web项目中,Spring创建这个类以后就会将它存入到session范围中
(5)globalsession:应用在web项目,必须在prolet环境下使用,如果没有这种环境,但是又将其配置为了这个属性,时候相当于session。
注意:
(1)prolet环境指的是在一个网站有多个页面的情况下,一次配置,全局页面共享。如在淘宝页面登录了账号,在浏览商品的各个页面上都显示已登录信息
(2)在实际的开发中主要使用的是第一第二个属性进行配置
实例
(1)在默认的情况下,即不进行配置的情况下。创建的对象是单例的。这时候不管获取对象多少次都是同一个对象,如下图所示,两次获取的对象的地址是相同的,对象只被初始化一次
(2)将对象配置为多例模式的
1)将配置文件中对scope的属性修改为prototype
2)在对上面的获取两次对象代码进行运行,初始化了两次,同时地址也是不一样的。
注意:这时候工厂虽然关闭了,但是对象并没有销毁,原因是工厂不知道对哪一个对象进行销毁
Spring的属性注入
属性注入的方式
在java的开发中,有下图的几种方式实现对象的属性注入,其中Spring支持构造方法和set方法两种方式进行属性注入。
构造方法方式的属性注入
(1)定义一个类,并使用构造方法的方式对属性进行设置,如下图
(2)在对应的
set方法的方式的属性注入
(1)定义一个类,并使用set方法的方式对属性进行注入
(2)在配置文件中对应的
set方法注入对象类型的属性
(1)定义一个类,这个类的中存在一个对象属性,同时该对象由set方法的方式获得
(2)在配置文件中找到对应的
注意:使用构造方法设置对象属性也是类似的方法,把value改成ref即可
P名称空间的属性注入方式(Spring2.5以后)
介绍:通过引入p名称空间完成属性的注入
语法:
(1)普通属性 p:属性名=”值”
(2)对象属性 p:属性名-ref=”值”
实例
(1)打开配置文件并添加P名称空间
(2)修改配置文件将注入属性的方法写为p名称空间的方式
1)普通属性注入
2)对象属性注入
SpEL的属性注入(Spring3.0以后的版本)
介绍:Spring Expression Language,Spring 的表达式语言
语法:
(1)#{SpEL}
实例
(1)在配置文件中将普通属性进行注入操作
(2)对象属性注入
(3)对象属性和对象方法的调用
被调用的对象必须在配置文件中已经进行了注册
注意:以上方法是最基本的使用方法,SpEL属性的注入中可以引入复杂的算式进行计算注入。
数组、集合属性的注入
数组属性注入
(1)定义一个类中的数组属性,并通过set方法将属性注入
(2)配置文件向数组注入多条数据
集合属性注入
一、向list集合注入属性
(1)类中添加集合定义,并通过使用set方法实现属性注入
(2)配置文件向list集合添加多条数据
二、向Map集合注入
注意配置文件中注入属性的方式
Spring的分模块开发
Spring的分模块开发,这时候会出现多个配置文件,当出现多个配置文件时如何关联多个配置文件?
方法一
类工厂的创建时,加载多个配置文件
方法二
在配置文件中关联引入其他的配置文件