`
8366
  • 浏览: 813318 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

第10讲 --使用构造器装配属性

阅读更多

 

使用构造器注入:

 

以前我们都是使用setter方法给属性注入值的,现在我们来看看另外一种注入方法:构造器注入

 

 

步骤:

 

(1)改写 PersionServiceBean.java ,为注入的属性加上构造方法

package cn.com.xinli.service.impl;

import org.apache.log4j.Logger;

import cn.com.xinli.dao.PersionDao;
import cn.com.xinli.service.PersionSevice;
										   
public class PersionServiceBean implements PersionSevice 
{
	Logger log=Logger.getLogger(PersionServiceBean.class);
	private PersionDao persionDao;
	private String name;
	
	public PersionServiceBean(PersionDao persionDao, String name) {
		
		this.persionDao = persionDao;
		this.name = name;
	}
	public String getName()
	{
		return name;
	}
	public void setName(String name)
	{
		this.name = name;
	}
	public PersionDao getPersionDao()
	{
		return persionDao;
	}
	public void setPersionDao(PersionDao persionDao)
	{
		this.persionDao = persionDao;
	}
	public void init()
	{
		log.info("初始化资源");
	}
	public PersionServiceBean() 
	{
		log.info("我被实例化了");
	}

	public void save()
	{
		log.info("name:"+name);
		
		 this.persionDao.add();
	}
	public void destory()
	{
		log.info("释放资源");
	}
	
}	

 

 

(2) 配置beans.xml,其中配置了一个依赖属性和一个基本的String类型

 

<bean id="persionServiceBean" class="cn.com.xinli.service.impl.PersionServiceBean" init-method="init" destroy-method="destory">
		
		<constructor-arg index="0" type="cn.com.xinli.dao.PersionDao" ref="persionDao"></constructor-arg>
		<constructor-arg index="1" value="huxl"></constructor-arg>
	</bean>

 

(3) 测试:

 

ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
		PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean");
		ps.save();

 

结果:

 

  INFO (PersionServiceBean.java:37) - 初始化资源
  INFO (PersionServiceBean.java:46) - name:huxl
  INFO (PersionDaoBean.java:15) - 执行了PersionDaoBean中的add()方法

 

目前学习到了两种注入方式:

1.setter方式

2.构造起方式

 

分享到:
评论

相关推荐

    《Spring in Action》学习点滴

    10. **使用`PropertyPlaceholderConfigurer`加载属性文件** - 可以通过`PropertyPlaceholderConfigurer`来加载外部属性文件,并在其他地方通过`${database.url}`这样的占位符来引用这些属性值。 11. **自定义`...

    spring2.5_学习笔记.

    - **构造器注入**:通过构造函数传递依赖。 - **Bean 属性**: - **id 和 name**:标识 Bean,便于引用。 - **属性注入**:为 Bean 设置属性值。 - **作用范围**:Bean 的生命周期和作用域,包括`singleton`、`...

    spring.net中文手册在线版

    4.3.3.详细讨论对象属性和构造器参数 4.3.3.1.设置空值 4.3.3.2.设置集合值 4.3.3.3.设置泛型集合的值 4.3.3.4.设置索引器属性 4.3.3.5.内联对象定义 4.3.3.6.idref节点 4.3.3.7.引用协作对象 4.3.3.8.value和ref...

    parsley2.3中文文档

    9. **构造器方式的注入** - 通过构造函数参数,Parsley可以注入依赖对象,避免手动创建实例。 10. **方法注入** - 支持在对象的方法中注入依赖,使得对象的生命周期管理更为灵活。 在深入学习Parsley 2.3的过程...

    spring2.5 学习笔记

    - **构造器注入**:在构造函数中指定依赖。 - **其他配置细节**: - **id、name**:标识 Bean 的唯一名称。 - **简单属性的注入**:为 Bean 的简单属性如字符串、整型等注入值。 - **Bean 的作用范围**:设置 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    solidworks技巧

    - **应用场景**:在装配体设计过程中,需要调整第一个放置的零部件位置时使用。 #### 25. 尺寸名称复制与粘贴 - **技巧说明**:在使用零件族表格时,复制和粘贴尺寸名称到表格中,确保尺寸名称一致。 - **应用场景*...

    Spring in Action(第2版)中文版

    第10章spring消息 10.1jms简介 10.1.1构建jms 10.1.2介绍jms的优点 10.1.3在spring中安装activemq 10.2协同使用jms和spring 10.2.1处理冗长失控的jms代码 10.2.2使用jms模板 10.2.3转换消息 10.2.4将spring...

    spring的详细介绍

    10. 自动装配(Auto-Wiring):Spring自动检测并满足Bean之间的依赖关系,但这种方式可能导致不可预测的结果,因此通常不推荐使用。可以通过`autowire`属性设置自动装配模式。 11. 依赖检查(Dependency Checking)...

    Spring in Action(第二版 中文高清版).part2

    第10章 Spring消息 10.1 JMS简介 10.1.1 构建JMS 10.1.2 介绍JMS的优点 10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 ...

    Spring in Action(第二版 中文高清版).part1

    第10章 Spring消息 10.1 JMS简介 10.1.1 构建JMS 10.1.2 介绍JMS的优点 10.1.3 在Spring中安装ActiveMQ 10.2 协同使用JMS和Spring 10.2.1 处理冗长失控的JMS代码 10.2.2 使用JMS模板 10.2.3 转换消息 ...

    spring famework xml配置使用示例

    Spring支持多种方式注入Bean的依赖,如构造器注入、设值注入等。设值注入通过`&lt;property&gt;`标签实现,如下所示: ```xml ``` `name`属性对应Java类中的属性名,`value`属性提供该属性的值。 3. **工厂方法...

    最全面Java面试题,从corejava到javaWeb共180多题(含答案)

    - **构造器注入**:通过构造器传递依赖关系。 - **属性注入**:通过 setter 方法注入依赖。 - **字段注入**:直接在字段上使用注解的方式注入依赖。 - **Bean 的生命周期管理**: - Bean 的初始化方法和销毁...

    Spring中文帮助文档

    4.7.2. Application context构造器中资源路径的通配符 4.7.3. FileSystemResource 说明 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到...

    Spring API

    4.7.2. Application context构造器中资源路径的通配符 4.7.3. FileSystemResource 说明 5. 校验,数据绑定,BeanWrapper,与属性编辑器 5.1. 简介 5.2. 使用Spring的Validator接口进行校验 5.3. 从错误代码到...

    Spring的经典面试题

    - **构造器注入**:在构造函数中通过参数来设置依赖,有利于依赖关系的不可变性和对象的稳定性。 - **Setter方法注入**:通过setter方法来设置依赖,适用于可选依赖或在运行时可能变化的依赖。 ### Spring事件处理 ...

Global site tag (gtag.js) - Google Analytics