spring配置文件XML怎么写 spring bean配置详解

9次阅读

spring xml配置通过bean标签声明并管理java对象,支持属性注入、依赖引用、集合配置、作用域控制(如singleton/prototype)、懒加载及初始化/销毁方法,需遵循XSD规范并声明命名空间

spring配置文件XML怎么写 spring bean配置详解

Spring 的 XML 配置文件本质是通过 bean 标签声明 Java 对象(即 Spring 管理的组件),并由 Spring 容器负责创建、装配和生命周期管理。虽然现在主流用 Java Config 或注解(@Configuration@Bean@Component等),但理解 XML 配置对阅读老项目、调试原理或特定场景(如多模块 XML 拆分)仍有实际价值。

基础 bean 声明与属性注入

最简形式只需指定 id(唯一标识)和 class(全限定类名):

Spring 会调用该类无参构造器创建实例。若需设属性值,可用 Property 子标签:

       

这等价于 new 出对象后调用 setTimeOut(3000)setRetryCount(3)。注意:name 必须匹配 JavaBean 的 setter 方法名(去掉 set,首字母小写),且对应字段要有 public setter。

引用其他 bean(依赖注入)

当一个 bean 需要另一个 bean 作为成员变量时,用 ref 属性指向目标 bean 的 id

    

Spring 在初始化 orderService 时,自动将已创建好的 userService 实例注入其 setUserService() 方法中。也可用 实现构造器注入,更利于不可变性和测试。

集合类型与复杂属性配置

XML 支持 list、map、set、props 等结构。例如注入字符串列表:

               sendEmail       notifySMS         

注入 Map(key 为 String,value 为 bean 引用):

                 

注意:嵌套结构必须放在 内部,不能直接写在 下。

作用域懒加载与初始化控制

默认 scope 是 singleton(单例,整个容器共享一个实例)。设为 prototype 则每次 getBean() 都新建:

启用懒加载(lazy-init),让 bean 在首次被引用时才创建,而非容器启动时:

指定初始化/销毁方法(对应 @PostConstruct/@Predestroy):

    

Spring 会在 bean 创建后调用 init(),关闭容器前调用 close()

不复杂但容易忽略:XML 文件需遵循 Spring XSD 规范,开头要有命名空间声明,如:

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd”>

text=ZqhQzanResources