- 浏览: 813348 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (307)
- struts (8)
- hibernate (3)
- spring (32)
- opensourceproject (12)
- javaScript (9)
- primeton EOS (2)
- journey of heart (10)
- Design pattern (6)
- ejb (17)
- point (37)
- Linux&Unix (22)
- ibatis (10)
- AJAX (6)
- DB (26)
- Protocol (6)
- chart (4)
- web server (11)
- webservice (7)
- integration (3)
- tuxedo (5)
- ext (4)
- android (1)
- c/c++ (12)
- JVM (1)
- paginationFrame (2)
- code (2)
- report (1)
- High-performance web (1)
- svn (1)
- JQuery (1)
- workDaily (2)
- cloud (16)
- Python (8)
- English (2)
- shell (5)
- googleCode (1)
- nio (1)
- hyper-v (1)
- debug (3)
- vbs (2)
- openstack (3)
- K8S (1)
- Mesos (0)
- Spark (0)
- Marathon (0)
最新评论
-
钱图大展:
chao2751021 写道lib包哪里去下载,找不到
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
钱图大展:
无法下载
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
fm395728572:
shell脚本中用到了环境变量,但是获取不到,例如脚本中有一句 ...
ganymed-ssh2 for Java -
liuhanjiang:
我qq147229234
大型网站用户行为记录的一个实现--基于clickStream(第一部分) -
liuhanjiang:
博主 我利用您提供的方法实现博文中介绍的clickstream ...
大型网站用户行为记录的一个实现--基于clickStream(第一部分)
集合类型的装配
private Set<String> sets = new HashSet<String>();
private List<String> lists = new ArrayList<String>();
private Properties properties = new Properties();
private Map<String, String> maps = new HashMap<String, String>();
....//这里省略属性的getter和setter方法
步骤:
(1).修改PersionServiceBean.java ,给它加上一些集合类属性
package cn.com.xinli.service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
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;
private int age;
private Set<String> sets = new HashSet<String>();
private List<String> lists = new ArrayList<String>();
private Properties properties = new Properties();
private Map<String, String> maps = new HashMap<String, String>();
public Set<String> getSets()
{
return sets;
}
public void setSets(Set<String> sets)
{
this.sets = sets;
}
public List<String> getLists()
{
return lists;
}
public void setLists(List<String> lists)
{
this.lists = lists;
}
public Properties getProperties()
{
return properties;
}
public void setProperties(Properties properties)
{
this.properties = properties;
}
public Map<String, String> getMaps()
{
return maps;
}
public void setMaps(Map<String, String> maps)
{
this.maps = maps;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
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);
log.info("age:"+age);
this.persionDao.add();
}
public void destory()
{
log.info("释放资源");
}
}
(2) 配置beans.xml 给结合属性配置一些需要注入的值
<?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-2.5.xsd"> <bean id="persionDao" class="cn.com.xinli.dao.impl.PersionDaoBean"></bean> <bean id="persionServiceBean" class="cn.com.xinli.service.impl.PersionServiceBean" init-method="init" destroy-method="destory"> <property name="persionDao" ref="persionDao"/> <property name="name" value="huxl"/> <property name="age" value="26"/> <property name="sets"> <set> <value>第一个</value> <value>第二个</value> <value>第三个</value> </set> </property> <property name="lists"> <list> <value>第一个list元素</value> <value>第二个list元素</value> <value>第三个list元素</value> </list> </property> <property name="properties"> <props> <prop key="key1">value1</prop> <prop key="key2">value2</prop> <prop key="key3">value3</prop> </props> </property> <property name="maps"> <map> <entry key="key-1" value="value-1"/> <entry key="key-2" value="value-2"/> <entry key="key-3" value="value-3"/> </map> </property> </bean> <!-- <bean id="persionServiceBean2" class="cn.com.xinli.service.impl.PersionServiceBeanFactory" factory-method="createPersionServiceBean"/> <bean id="PersionServiceBeanFactory" class="cn.com.xinli.service.impl.PersionServiceBeanFactory"></bean> <bean id="persionServiceBean3" factory-bean="PersionServiceBeanFactory" factory-method="createPersionServiceBean2"></bean> --> </beans>
(3) 测试:
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); PersionSevice ps=(PersionSevice)ctx.getBean("persionServiceBean"); ps.save(); System.out.println("========set==========="); for(String value : ps.getSets()){ System.out.println(value); } System.out.println("========list==========="); for(String value : ps.getLists()){ System.out.println(value); } System.out.println("========properties==========="); for(Object key : ps.getProperties().keySet()){ System.out.println(key+"="+ ps.getProperties().getProperty((String)key)); } System.out.println("========map==========="); for(String key : ps.getMaps().keySet()){ System.out.println(key+"="+ ps.getMaps().get(key)); }
(5) 结果
2009-05-30 17:52:17,906 INFO (PersionServiceBean.java:91) - 我被实例化了
2009-05-30 17:52:18,046 INFO (PersionServiceBean.java:87) - 初始化资源
2009-05-30 17:52:18,062 INFO (PersionServiceBean.java:96) - name:huxl
2009-05-30 17:52:18,062 INFO (PersionServiceBean.java:97) - age:26
2009-05-30 17:52:18,062 INFO (PersionDaoBean.java:15) - 执行了PersionDaoBean中的add()方法
========set===========
第一个
第二个
第三个
========list===========
第一个list元素
第二个list元素
第三个list元素
========properties===========
key3=value3
key2=value2
key1=value1
========map===========
key-1=value-1
key-2=value-2
key-3=value-3
发表评论
-
hibernatetemplate类使用
2010-03-19 22:25 1213http://115893520.iteye.com/blog ... -
Spring 中的JdbcTemplate使用
2010-03-19 22:11 35201.JdbcTemplate的execute()方 ... -
SpringAOP 的使用(两种方式)
2009-10-22 13:42 1536使用Spring AOP 拦截 方法,给被拦截的 ... -
第30讲--Spring提供的CharacterEncoding和OpenSessionInView功能
2009-09-19 18:24 1815CharacterEncoding: 在web ... -
第29讲--为Spring集成的Hibernate配置二级缓存
2009-09-18 00:29 3417合理的使用缓存策略,往往在web开发中提高性能起到关键 ... -
第28讲--Struts与Spring集成方案2(Spring集成Struts)
2009-09-17 00:57 1662集成步骤: 1.和方案1一样需要在web. ... -
第27讲--Struts与Spring集成方案1(Struts集成Spring)
2009-09-16 08:25 1849Spring2.5+Hibernate3.3+Stru ... -
第25,26讲 --搭建和配置Spring与Hibernate整合的环境
2009-06-21 11:21 1623Spring2.5+Hibernate3.3+Stru ... -
第24讲 --使用Spring配置文件实现事务管理
2009-06-20 23:56 1786采用基于XML方式配置事务 <bean ... -
第23讲 --使用Spring注解方式管理事务与传播行为详解
2009-06-11 23:19 2263事务传播属性 REQUIR ... -
第21,22讲 --搭建和配置Spring与jdbc整合的环境+Spring集成的jdbc编码和事务
2009-06-10 08:06 2709Spring+JDBC组合开发配置数据源有两种方式: ... -
第20讲--aspectj的切入点语法定义细节
2009-06-06 17:47 3660表达式分析: expression=" ... -
第19讲 --使用Spring配置文件实现AOP
2009-06-06 17:21 1564上面我们是使用注解的方式实现spring AOP的,下面 ... -
第18讲 --使用Spring的注解方式实现AOP的细节
2009-06-06 15:48 1583上一讲我们使用spring注解的方式理由aop技术 ... -
第17讲 --使用Spring的注解方式实现AOP入门
2009-06-05 00:48 2288使用Spring进行面向切面(AOP)编程 要 ... -
第16讲 --使用CGLIB实现AOP功能与AOP概念解释
2009-06-04 07:42 1660当代理对象没有实现 ... -
第15讲 --使用JDK中的Proxy技术实现AOP功能
2009-06-04 07:34 2347当目标类实现了接口,我们可以使用jdk的Proxy ... -
第14讲 --让Spring自动扫描和管理Bean
2009-06-02 23:40 8767通过在classpath自动扫描方式把组件纳入sp ... -
第13讲 --Autowire注解与自动装配
2009-06-02 22:46 31521. Autowire 默认是 ... -
第12讲 --编码剖析@Resource注解的实现原理
2009-06-01 23:14 3311在这一讲开始之前,我们先学习一下jdk5.0 中的一个新 ...
相关推荐
7.3.2. Spring里的通知类型 7.3.2.1. 拦截around通知 7.3.2.2. 前置通知 7.3.2.3. 异常通知 7.3.2.4. 后置通知 7.3.2.5. 引入通知 7.4. Spring里的advisor(Advisor) API 7.5. 使用ProxyFactoryBean创建AOP代理 ...
#### 第九章:Spring BeanPost处理器 - **BeanPostProcessor接口:** - 允许开发者在Bean初始化前后进行自定义操作,如验证、修改Bean的定义等。 #### 第十章:定义Spring Bean的继承 - **Bean定义模板:** - ...
- 集合类型(List、Set、Map、Properties):通过`<list/>`、`<set/>`、`<map/>`、`<props/>`元素注入。 7. 创建Bean实例的方法: - 通过构造器(有参或无参)。 - 通过静态工厂方法。 - 通过实例工厂方法。 8...
- **自动装配**:Spring框架能够根据Bean类型自动找到匹配的Bean,并进行依赖注入。 #### 14. 区分不同模块中的自动生成Bean - **区分方法**:通过`@Primary`注解或者`@Qualifier`注解来区分同类型的多个Bean,...
- **集合注入**:将集合类型注入到 Bean 中。 - **自动装配**: - **byName**:根据属性名称自动装配。 - **byType**:根据属性类型自动装配。 - **生命周期管理**:管理 Bean 的创建、初始化、销毁等过程。 ####...
第9章 在Spring中建立契约优先Web服务 9.1 介绍Spring-WS 9.2 定义契约(首先!) 9.3 使用服务端点处理消息 9.3.1 建立基于JDOM消息的端点 9.3.2 序列化消息载荷 9.4 合并在一起 9.4.1 Spring-WS:全景视图 ...
- **集合注入**:注入 List、Set、Map 等集合类型的属性。 - **自动装配**:通过 `byName` 或 `byType` 自动匹配并注入 Bean。 - **生命周期管理**:通过 `init-method` 和 `destroy-method` 来定义 Bean 的初始...
- **根据类型自动装配**:使用`autowire="byType"`属性。 ### 五、Bean的作用域 - **singleton**:单例模式,每个容器只有一个bean实例。 - **prototype**:原型模式,每次请求都会创建一个新的bean实例。 - **其它...
第9章 Spring REST 352 9.1 用Spring发布一个REST服务 352 9.1.1 问题 352 9.1.2 解决方案 353 9.1.3 工作原理 353 9.2 用Spring访问REST服务 358 9.2.1 问题 358 9.2.2 解决方案 358 9.2.3 工作...
第九章. Spring.NET杂记 9.1.简介 9.2.PathMatcher 9.2.1.通用规则 9.2.2.匹配文件名 9.2.3.匹配子目录 9.2.4.大小写需要考虑,斜线可以任意 第十章. 表达式求值 10.1.简介 10.2.表达式求值 10.3.语言参考 10.3.1....
第9章在spring中建立契约优先web服务 9.1介绍spring-ws 9.2定义契约(首先!) 9.3使用服务端点处理消息 9.3.1建立基于jdom消息的端点 9.3.2序列化消息载荷 9.4合并在一起 9.4.1spring-ws:全景视图 9.4.2将...
4.4.6 集合类型属性 4.4.7 简化配置方式 4.4.8 自动装配 4.5 方法注入 4.5.1 lookup方法注入 4.5.2 方法替换 4.6 之间的关系 4.6.1 继承 4.6.2 依赖 4.6.3 引用 4.7 整合多个配置文件 4.8 Bean作用域 4.8.1 ...
第9章 在Spring中建立契约优先Web服务 9.1 介绍Spring-WS 9.2 定义契约(首先!) 9.3 使用服务端点处理消息 9.3.1 建立基于JDOM消息的端点 9.3.2 序列化消息载荷 9.4 合并在一起 9.4.1 Spring-WS:全景视图 ...
第9章 Spring REST 352 9.1 用Spring发布一个REST服务 352 9.1.1 问题 352 9.1.2 解决方案 353 9.1.3 工作原理 353 9.2 用Spring访问REST服务 358 9.2.1 问题 358 9.2.2 解决方案 358 9.2.3 工作...
9. **控制反转(IOC)**:控制反转是指对象不再主动寻找依赖类,而是由容器负责管理和装配对象的依赖关系。A项正确,B项错误,对象被动地接受依赖类;C项错误,对象不再主动找依赖类;D项错误,IOC并不强制使用接口,...
对于List、Set、Map等集合类型的属性,可以通过`<list>`, `<set>`, `<map>`等标签注入: ```xml <value>item1 <value>item2 ``` 6. **作用域** Bean可以有多种作用域,如单例(singleton)、原型...
4.4.6 集合类型属性 4.4.7 简化配置方式 4.4.8 自动装配 4.5 方法注入 4.5.1 lookup方法注入 4.5.2 方法替换 4.6 之间的关系 4.6.1 继承 4.6.2 依赖 4.6.3 引用 4.7 整合多个配置文件 4.8 Bean作用域 4.8.1 ...
#### 第九课:DataSource 1. **Sping配置数据源**:Spring支持多种数据源配置方式,如使用`BasicDataSource`、`DataSource`等。 2. **注入使用**:通过Spring的配置文件或注解来注入数据源。 3. **dbcp....