文档章节

Spring Setter/Getter 注入的对象时的两种形式 和使用 p的命名空间

年少爱追梦
 年少爱追梦
发布于 2016/04/08 16:31
字数 451
阅读 683
收藏 4
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
	    http://www.springframework.org/schema/beans/spring-beans.xsd">

	<bean id="piano" class="com.springinaction.springidol.Piano"
		scope="prototype" init-method="init" destroy-method="destory">
	</bean>

	<bean id="people" class="com.springinaction.springidol.People">
		<property name="name" value="nihao" />
		<!-- 第一种注入 方式<property name="piano" ref="piano" /> -->
		<!-- 内部bean 的注入-->
		<property name="piano">
			<bean class="com.springinaction.springidol.Piano" />
		</property>
	</bean>
</beans>
public class People {
	private String name;
	private String age;
	private String area;
	private Piano piano;
	
	public Piano getPiano() {
		return piano;
	}
	public void setPiano(Piano piano) {
		this.piano = piano;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getArea() {
		return area;
	}
	public void setArea(String area) {
		this.area = area;
	}
	
	public static void main(String args[]){
		ApplicationContext ac=new ClassPathXmlApplicationContext("com/springinaction/springidol/springidol-context-2.xml");
		People people=(People)ac.getBean("people");
		System.out.println(people.getName());
		people.getPiano().play();
		
	}
}

一些更加简便的方式 来源    http://blog.csdn.net/joker_zhou/article/details/8551692

p:命名空间:

xmlns:p="http://www.springframework.org/schema/p"

作用:简化在xml配置bean的属性 在<bean>中使用p:属性名来配置

AOP:命名空间:

xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation:

http://www.springframework.org/schema/aop  http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

作用:简化AspectJ的AOP在xml中配置

util:命名空间:

xmlns:util="http://www.springframework.org/schema/util"

xsi:schemaLocation:

http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd

context:命名空间:

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation:

http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context.xsd

作用:1.配置自动扫描bean注解类

context:命名空间:

xmlns:mvc="http://www.springframework.org/schema/mvc"

xsi:schemaLocation:

http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

具体配置如下:

<?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-3.0.xsd">

	<bean id="piano" class="com.springinaction.springidol.Piano"
		scope="prototype" init-method="init" destroy-method="destory">
	</bean>
	<bean id="people" class="com.springinaction.springidol.People"
		p:name="haha" p:piano-ref="piano" />

</beans>

java 代码同上。

© 著作权归作者所有

年少爱追梦
粉丝 35
博文 195
码字总数 120647
作品 0
杭州
程序员
私信 提问
【第三章】 DI 之 3.1.3 DI的配置使用 ——跟我学spring3

四、其他引用方式:除了最基本配置方式以外,Spring还提供了另外两种更高级的配置方式,<ref local=””/>和<ref parent=””/>: (1)<ref local=””/>配置方式:用于引用通过<bean id=”...

azikaxu
2015/04/15
12
0
2014-03-10 Spring的学习(2)------依赖注入和自动扫描Bean

1.依赖注入(DI)的概念 所谓的依赖注入是指在运行期,由外部容器将依赖对象注入到组件中.依赖注入(DI)背后的基本原理是对象之间的依赖关系(即一起工作的其它对象).例如:Service业务层依赖D...

查封炉台
2014/03/10
285
0
Spring中依赖注入的四种方式

在Spring容器中为一个bean配置依赖注入有三种方式: · 使用属性的setter方法注入 这是最常用的方式; · 使用构造器注入; · 使用Filed注入(用于注解方式). 使用属性的setter方法注入 首...

Zero零_度
2015/04/07
394
0
Spring两种依赖注入方式的比较

我们知道,Spring对象属性的注入方式有两种:设值注入和构造注入。先看代码:   假设有个类为People,该对象包含三个属性,name和school还有age,这些属性都有各自的setter和getter方法,还...

摆渡者
2014/02/27
7.1K
0
spring学习——Ioc基础四(Di的配置使用)

一、依赖和依赖注入 传统应用程序设计中所说的依赖一般指“类之间的关系”,那先让我们复习一下类之间的关系: 泛化:表示类与类之间的继承关系、接口与接口之间的继承关系; 实现:表示类对...

小风89
2015/10/12
231
0

没有更多内容

加载失败,请刷新页面

加载更多

02.日志系统:一条SQL更新语句是如何执行的?

我们还是从一个表的一条更新语句说起,我们创建下面一张表: create table T(ID int primary key, c int); 如果要将ID=2这一行c的值加1,SQL可以这么写: update T set c=c+1 where ID=2; 前...

scgaopan
今天
9
0
【五分钟系列】掌握vscode调试技巧

调试前端js 准备一个前端项目 index.html <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1......

aoping
今天
8
0
PhotoShop 高级应用:USM锐化/S锐化/防抖

、 高反差锐化+混合模式:叠加模式 【将更多的边缘细节添加到图像中】

东方墨天
今天
9
0
Python数据可视化之matplotlib

常用模块导入 import numpy as npimport matplotlibimport matplotlib.mlab as mlabimport matplotlib.pyplot as pltimport matplotlib.font_manager as fmfrom mpl_toolkits.mplot3d i......

松鼠大帝
昨天
7
0
我用Bash编写了一个扫雷游戏

我在编程教学方面不是专家,但当我想更好掌握某一样东西时,会试着找出让自己乐在其中的方法。比方说,当我想在 shell 编程方面更进一步时,我决定用 Bash 编写一个扫雷游戏来加以练习。 我在...

老孟的Linux私房菜
昨天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部