1. 为了简化 XML 文件的配置,越来越多的 XML 文件采用属性而非子元素配置信息。
2. Spring 从 2.5 版本开始引入了一个新的 p 命名空间,可以通过 <bean> 元素属性的方式配置 Bean 的属性。
使用 p 命名空间后,基于 XML 的配置方式将进一步简化。
示例:
1. 添加模型类
package xyz.huning.spring4.di.xml.beancfg.p; public class Cup { private int id; private String brand; private String volume; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getVolume() { return volume; } public void setVolume(String volume) { this.volume = volume; } @Override public String toString() { return "Cup [id=" + id + ", brand=" + brand + ", volume=" + volume + "]"; } }
2. 添加配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="cup1" class="xyz.huning.spring4.di.xml.beancfg.p.Cup" p:id="1" p:brand="SunCup" p:volume="700ml"></bean> <!--通过p命名空间为bean的属性赋值,需要先导入p命名空间--> <bean id="cup2" class="xyz.huning.spring4.di.xml.beancfg.p.Cup"> <property name="id" value="2"></property> <property name="brand" value="StarCup"></property> <property name="volume" value="500ml"></property> </bean> </beans>
3. 添加测试类
package xyz.huning.spring4.di.xml.beancfg.p; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Main { public static void main(String[] args) { ApplicationContext ctx = new ClassPathXmlApplicationContext("p.xml"); Cup cup1 = ctx.getBean("cup1", Cup.class); System.out.println(cup1); Cup cup2 = ctx.getBean("cup2", Cup.class); System.out.println(cup2); ((ClassPathXmlApplicationContext)ctx).close(); } }
相关推荐
Spring框架使用P命名空间进行注入详解 Spring框架是 Java 平台上一个开源的轻量级应用程序框架,主要用于开发企业级应用程序。 Spring框架提供了一个灵活的依赖注入机制,允许开发者将对象之间的依赖关系声明式地...
在Spring框架中,XML配置是创建和管理Bean的主要方式之一。然而,随着Bean数量的增加...在实际项目中,结合使用`p`命名空间和其他Spring命名空间,如`beans`、`context`和`util`,可以极大地提高配置的效率和可维护性。
本文实例讲述了Spring使用util:命名空间简化配置操作。分享给大家供大家参考,具体如下: 一 配置 <?xml version=1.0 encoding=GBK?> <!-- 指定Spring配置文件的根元素和Schema 导入p:命名空间和util:...
在Spring框架中,为了简化XML配置,Spring提供了多个命名空间,其中一个便是`p:`命名空间。这个命名空间允许我们在配置bean时直接通过属性名称来指定属性值,无需再单独定义setter方法。本示例主要讲解如何利用`p:`...
c命名空间允许使用标签直接传入构造函数参数,而p命名空间则用于setter注入,它允许使用属性名称而不是标签。这两种方式使配置更加简洁。 【Bean的作用域】 Spring中的Bean可以有多种作用域: 1. 单例(singleton...
在spring官网获取配置文件的p标签根据IoC入门案例建立spring配置文件可以找到,
例如,在Spring 2.5版本后,引入了p命名空间,允许直接在XML中通过属性的方式来注入依赖,极大地简化了配置过程。 总的来说,Spring框架通过其控制反转和依赖注入的机制,极大地简化了Java应用程序的开发和配置。它...
- **p命名空间**:在XML配置中,可以使用`p:`命名空间简化属性注入,如: ```xml <bean id="myBean" class="com.example.MyClass" p:prop1="value1" p:prop2-ref="anotherBean"/> ``` 通过理解并熟练掌握这些...
本压缩包"Springtest.rar"显然是一个关于Spring框架IOC特性的实践练习,涵盖了多个关键概念,如属性注入、构造方法注入、集合属性处理、Bean的作用域以及表达式语言(SpEL)、P命名空间和C命名空间的使用。...
为了简化配置,Spring还提供了p命名空间和c命名空间的配置方式,分别对应set方法注入和构造方法注入。通过引入相应的命名空间,可以直接在XML配置文件中以属性的方式配置属性值和构造器参数。 通过上述知识点,可以...
最后,我们提到的p命名空间(p-namespace)是Spring提供的一种简化XML配置的方法。它允许你直接在bean元素的属性中声明属性值,而不是通过`<property>`标签。比如,`...
然而,Spring还提供了一个名为p命名空间的替代方式,它允许我们在XML配置中使用属性语法来声明和注入Bean的属性。例如,我们可以用`<bean id="exampleBean" class="com.example.ExampleClass" p:property1="value1" ...
- 使用 Spring 的名称空间来配置 JPA 存储库。 - 示例: ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa=...
这里使用了多个命名空间来定义不同类型的Bean,例如控制器、拦截器、视图解析器等。具体的配置细节可能包括但不限于: - 定义控制器类作为Bean。 - 规定视图解析器(如VelocityViewResolver)。 - 配置拦截器...
- **其他注入形式:** 常量注入、Bean 注入、数组注入、List 注入、Map 注入、Set 注入、null 注入、Properties 注入、p 命名空间注入和 c 命名空间注入。 **4. Bean 的作用域:** - **Singleton:** 默认作用域...
- **XML快捷方式**:使用`p-`和`c-`命名空间简化属性设置。 - **复合属性名**:支持更复杂的属性路径表达式。 - **使用`depends-on`属性** - 通过`depends-on`属性控制Bean之间的依赖顺序。 - **延迟初始化Bean...