`

Spring之使用 p 命名空间

 
阅读更多

 

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框架使用P命名空间进行注入详解 Spring框架是 Java 平台上一个开源的轻量级应用程序框架,主要用于开发企业级应用程序。 Spring框架提供了一个灵活的依赖注入机制,允许开发者将对象之间的依赖关系声明式地...

    spring如何使用命名空间p简化bean的配置

    在Spring框架中,XML配置是创建和管理Bean的主要方式之一。然而,随着Bean数量的增加...在实际项目中,结合使用`p`命名空间和其他Spring命名空间,如`beans`、`context`和`util`,可以极大地提高配置的效率和可维护性。

    Spring实战之使用util:命名空间简化配置操作示例

    本文实例讲述了Spring使用util:命名空间简化配置操作。分享给大家供大家参考,具体如下: 一 配置 &lt;?xml version=1.0 encoding=GBK?&gt; &lt;!-- 指定Spring配置文件的根元素和Schema 导入p:命名空间和util:...

    Spring实战之使用p:命名空间简化配置操作示例

    在Spring框架中,为了简化XML配置,Spring提供了多个命名空间,其中一个便是`p:`命名空间。这个命名空间允许我们在配置bean时直接通过属性名称来指定属性值,无需再单独定义setter方法。本示例主要讲解如何利用`p:`...

    spring(一)–概念和历史/hellospring/IOC创建对象的方式/Spring配置/set注入/c命名和p命名空间注入/bean的作用域

    c命名空间允许使用标签直接传入构造函数参数,而p命名空间则用于setter注入,它允许使用属性名称而不是标签。这两种方式使配置更加简洁。 【Bean的作用域】 Spring中的Bean可以有多种作用域: 1. 单例(singleton...

    14-IoC配置-p命名空间的引入与使用

    在spring官网获取配置文件的p标签根据IoC入门案例建立spring配置文件可以找到,

    Spring框架原理及详细搭建步骤

    例如,在Spring 2.5版本后,引入了p命名空间,允许直接在XML中通过属性的方式来注入依赖,极大地简化了配置过程。 总的来说,Spring框架通过其控制反转和依赖注入的机制,极大地简化了Java应用程序的开发和配置。它...

    Spring相关测试1

    - **p命名空间**:在XML配置中,可以使用`p:`命名空间简化属性注入,如: ```xml &lt;bean id="myBean" class="com.example.MyClass" p:prop1="value1" p:prop2-ref="anotherBean"/&gt; ``` 通过理解并熟练掌握这些...

    Springtest.rar

    本压缩包"Springtest.rar"显然是一个关于Spring框架IOC特性的实践练习,涵盖了多个关键概念,如属性注入、构造方法注入、集合属性处理、Bean的作用域以及表达式语言(SpEL)、P命名空间和C命名空间的使用。...

    Spring、SpringMVC入门及整合JDBC、Mybatis

    为了简化配置,Spring还提供了p命名空间和c命名空间的配置方式,分别对应set方法注入和构造方法注入。通过引入相应的命名空间,可以直接在XML配置文件中以属性的方式配置属性值和构造器参数。 通过上述知识点,可以...

    SSHnote_Spring基本配置

    最后,我们提到的p命名空间(p-namespace)是Spring提供的一种简化XML配置的方法。它允许你直接在bean元素的属性中声明属性值,而不是通过`&lt;property&gt;`标签。比如,`...

    spring资料4

    然而,Spring还提供了一个名为p命名空间的替代方式,它允许我们在XML配置中使用属性语法来声明和注入Bean的属性。例如,我们可以用`&lt;bean id="exampleBean" class="com.example.ExampleClass" p:property1="value1" ...

    spring data jpa1.7 中文

    - 使用 Spring 的名称空间来配置 JPA 存储库。 - 示例: ```xml &lt;beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jpa=...

    maven spring security框架搭建

    这里使用了多个命名空间来定义不同类型的Bean,例如控制器、拦截器、视图解析器等。具体的配置细节可能包括但不限于: - 定义控制器类作为Bean。 - 规定视图解析器(如VelocityViewResolver)。 - 配置拦截器...

    spring_ioc.docx

    - **其他注入形式:** 常量注入、Bean 注入、数组注入、List 注入、Map 注入、Set 注入、null 注入、Properties 注入、p 命名空间注入和 c 命名空间注入。 **4. Bean 的作用域:** - **Singleton:** 默认作用域...

    spring core官方文档.pdf

    - **XML快捷方式**:使用`p-`和`c-`命名空间简化属性设置。 - **复合属性名**:支持更复杂的属性路径表达式。 - **使用`depends-on`属性** - 通过`depends-on`属性控制Bean之间的依赖顺序。 - **延迟初始化Bean...

Global site tag (gtag.js) - Google Analytics