Spring配置文件

    技术2025-11-08  23

    3. Spring配置文件

    3.1 Bean标签的基本配置3.2 Bean标签的范围配置1、当scope的取值范围为singleton时2、当scope的取值为prototype时 3.3 Bean的生命周期配置3.4 Bean实例化的三种方式3.5 Bean的依赖注入分析3.6 Bean的依赖注入概念3.7 Bean的依赖注入的方式3.8 Bean的依赖注入的数据类型3.9 引入其他的配置文件Spring的重点配置

    3.1 Bean标签的基本配置

    用于配置对象交由Spring来创建。 默认情况下他调用的是类中的无参构造,如果没有无参构造则不能创建成功。

    基本属性:

    id:Bean实例在Spring容器中的唯一标识class:Bean的全限定名称

    3.2 Bean标签的范围配置

    scope:指对象的作用范围,取值如下:

    取值范围说明被创建的时机singleton默认的,单例的加载配置文件,创建Spring容器的时创建prototype多利的创建对象的时(getBean();)requestWEB项目,Spring创建一个Bean对象,将对象存入request域中sessionWEB项目,Spring创建一个Bean对象,将对象存入session域中global sessionWEB项目,应用中Portlet环境

    1、当scope的取值范围为singleton时

    Bean的实例化个数:1个 Bean的实例化实际:当Spring核心文件被加载时,实例化配置的备案实例 Bean的生命周期:

    对象创建:当应用加载时,对象被创建了对象运行:只要容器在,对象一直活着对象销毁:当应用卸载,销毁容器时对象就被销毁了

    2、当scope的取值为prototype时

    Bean的实例化个数:多个 Bean的实例化时机:当调用getBean()方法时实例化Bean

    对象创建:当使用对象时,创建新的对象实例对象运行:只要对象在使用中,就一直活着对象销毁:当对象长时间不用时,被Java的垃圾回收器回收

    3.3 Bean的生命周期配置

    init-method:指定类中的初始化方法名称(类加载时执行)destroy-method:指定类中的销毁方法名称(手动关闭时执行)

    3.4 Bean实例化的三种方式

    无参构造方法的实例化 <bean id="UserDao" class="com.orange.Impl.UserDaoImpl"></bean> 工厂静态方法的实例化 <bean id="UserDao" class="com.orange.factory.SasticFactpry" factory-method="getUserDao"></bean> 工厂实例方法的实例化 <bean id="Factory" class="com.orange.factory.DynamicFactory" ></bean> <bean id="UserDao" factory-bean="Factory" factory-method="getUserDao"></bean>

    3.5 Bean的依赖注入分析

    因为UserService和UserDao都在Spring容器中,二最终程序直接使用的是UserService,所以可以在Spring容器中,将UserDao设置到User Service内部。

    3.6 Bean的依赖注入概念

    依赖注入:是Spring框架核心IOC的具体实现

    在编写程序时,通过控制反转,把对象的创建交给了Spring,但是到马总不可能出现没有依赖的情况。 IOC解耦只是减低他们的依赖关系,但不会消除。例如:业务层人会调用持久层的方法。

    那么这种业务层和持久层的依赖关系,在使用Spring之后就让Spring来维护了。 简单来说,就是坐等框架吧持久层对象传入业务层,而不用我们自己去获取。

    将UserDao注入到UesrService内部

    构造方法set方法

    3.7 Bean的依赖注入的方式

    set方法注入 P命名空間諸如的本質也是set方法注入,但比起上述的set方法注入更方便,主要体现在配置文件中。 首先,需要引入P命名空间: xmlns:p="http://www.springframework.org/schema/p" 其次,要修改注入方式 <bean id="userService" class="com.orange.service.Impl.UserServiceImpl" p:userDao-ref="userdata"></bean> 通过构造方法注入 首先生成有参构造和无参构造 private UserDao userDao; public UserServiceImpl(UserDao userDao) { this.userDao = userDao; } public UserServiceImpl(){ }

    其次修改配置文件

    <bean id="userdata" class="com.orange.Impl.UserDaoImpl" ></bean> <constructor-arg name="userDao" ref="userdata"></constructor-arg></bean>

    3.8 Bean的依赖注入的数据类型

    上面的操作,都是注入的引用Bean,除了对象的引用可以注入,普通数据类型,集合都可以在容器中进行注入

    注入数据的三种数据类型

    普通数据类型(value)引用数据类型(ref)集合数据类型(子标签)

    3.9 引入其他的配置文件

    实际开发中,Spring的配置内容非常的多,这就导致Spring配置很繁杂而且体积很大,所以,可以将部分配置才接到其他的配置文件中,二Spring主配置文件通过import标签进行加载

    <import resource="applicationContext-User.xml"></import>

    Spring的重点配置

    Processed: 0.033, SQL: 9