Spring 2.0的新标签----util实例

一个测试Bean:

package util;

public class TestBean {

private Integer co;

public Integer getCo() {
    return co;
}

public void setCo(Integer co) {
    this.co = co;
    }
}

配置文件:

<?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:util="http://www.springframework.org/schema/util"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
                     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                     http://www.springframework.org/schema/util
                     http://www.springframework.org/schema/util/spring-util-2.0.xsd">

<bean id="test" class="util.Test">
   <property name="list" ref="list">
   </property>
    <property name="map" ref="map">
   </property>
    <property name="properties" ref="properties">
   </property>
    <property name="array" ref="array">
   </property>
    <property name="set" ref="set">
   </property>
   <property name="constantValue" ref="constantValue">
   </property>

</bean>

<util:list id="list" list-class="java.util.ArrayList">
  <value>listValue1</value>
  <value>listValue2</value>
</util:list>

<util:map id="map">
  <entry key="key1"  value="mapValue1"></entry>
  <entry key="key12" value="mapValue2"></entry>
</util:map>

<util:set id="set" set-class="java.util.TreeSet">
  <value>setValue1</value>
  <value>setValue2</value>
</util:set>

<util:properties id="properties" location="classpath:/util/config.properties">
</util:properties>

<util:list id="array">
  <value>arrayValue1</value>
  <value>arrayValue2</value>
</util:list>

<!-- 定义常量 -->
<util:constant id="constantValue" static-field="java.sql.Connection.TRANSACTION_SERIALIZABLE"/>

<!-- 为bean属性成员定义id,供其他bean引用,但自身属性不能使用,只能用在其他的bean上 -->

<util:property-path id="source" path="test.constantValue"/>
<bean id="testBean" class="util.TestBean">
  <property name="co">
    <ref bean="source"/>
  </property>
</bean>

</beans>

测试程序:

package util;

import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    private List list;
    private Map map;
    private String[] array;
    private Set set;
    private Properties properties;
    private Integer constantValue;

public Integer getConstantValue() {
  return constantValue;
 }
 public void setConstantValue(Integer constantValue) {
  this.constantValue = constantValue;
 }
 public List getList() {
  return list;
 }
 public void setList(List list) {
  this.list = list;
 }
 public Map getMap() {
  return map;
 }
 public void setMap(Map map) {
  this.map = map;
 }
 public String[] getArray() {
  return array;
 }
 public void setArray(String[] array) {
  this.array = array;
 }
 public Set getSet() {
  return set;
 }
 public void setSet(Set set) {
  this.set = set;
 }
 public Properties getProperties() {
  return properties;
 }
 public void setProperties(Properties properties) {
  this.properties = properties;
 }
 public static void main(String[] args) {
 
           ApplicationContext ctx=new ClassPathXmlApplicationContext("util/applicationContext.xml");
           Test t=(Test)ctx.getBean("test");
           t.printArray(t.getArray());
           t.printList(t.getList());
           t.printMap(t.getMap());
           t.printSet(t.getSet());
           t.printProperties(t.getProperties());   
           System.out.println(t.getConstantValue());
           
           TestBean tb=(TestBean)ctx.getBean("testBean");
           System.out.println("use util:property-path:"+tb.getCo());

}
 public void printList(List result){
  System.out.println("list value:");
  for (Iterator iterator = result.iterator(); iterator.hasNext();) {
   String element = (String) iterator.next();
   System.out.println(element);
  }
 }
 public void printMap(Map result){
  System.out.println("map value:");
  for (Iterator iterator = result.keySet().iterator(); iterator.hasNext();) {
   String element = (String) iterator.next();
   System.out.println(element);
  }
 }
 public void printSet(Set result){
  System.out.println("set value:");
  for (Iterator iterator = result.iterator(); iterator.hasNext();) {
   String element = (String) iterator.next();
   System.out.println(element);
  }
 }
 public void printArray(String[] result){
  System.out.println("array value:");
  for (int i = 0; i < result.length; i++) {
   System.out.println(result[i]);
  }
 }
 public void printProperties(Properties result){

System.out.println("properties value:");
  Enumeration enu2=result.propertyNames();
  while(enu2.hasMoreElements()){
      String key = (String)enu2.nextElement();
      System.out.println(key);
  }

}

}

测试结果:

array value:
arrayValue1
arrayValue2
list value:
listValue1
listValue2
map value:
key1
key12
set value:
setValue1
setValue2
properties value:
prop2
prop1
8
use util:property-path:8

时间: 2024-09-26 01:13:09

Spring 2.0的新标签----util实例的相关文章

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(一)

Spring更新到3.0之后,其MVC框架加入了一个非常不错的东西——那就是REST.它的开放式特性,与Spring的无缝集成,以及Spring框架的优秀表现,使得现在很多公司将其作为新的系统开发框架.大象根据实际的项目经验,以之前SSH2例子为基础,对其进行一次大改造,详细的为大家讲解如何实现SSM3全注解式的开发. 这次大象将采取两种构建方式,一是很多人喜欢用的MyEclipse,另一个,则是用Eclipse+Maven.这一篇,将主要讲解开发环境设置与Maven构建方式. 1. 开发环境

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(二)

在上一篇文章中我详细的介绍了如何搭建maven环境以及生成一个maven骨架的web项目,那么这章中我将讲述Spring MVC的流程结构,Spring MVC与Struts2的区别,以及例子中的一些配置文件的分析. 一.Spring MVC 3.0介绍 Spring MVC是一个典型的MVC框架,是Spring内置的Web框架,可以作为应用项目的展示层,继Spring 2.0对Spring MVC进行重大升级后,Spring 2.5又为Spring MVC引入了注解驱动功能,再到3.0时代,全

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(四)

这一章大象将详细分析web层代码,以及使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能.     之前在使用Struts2实现MVC的注解时,是借助struts2-convention这个插件,如今我们使用Spring自带的spring-webmvc组件来实现同样的功能,而且比之以前更简单.另外,还省掉了整合两个框架带来的不稳定因素.     对于Spring MVC框架,我主要讲一下它的常用注解,再结合一些示例进行说明,方便大家能够快速理解.     一.Spring MV

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(五)

这是本系列的最后一篇,主要讲一下FreeMarker模板引擎的基本概念与常用指令的使用方式.     一.FreemMarker基本概念     FreemMarker是一个用Java语言编写的模板引擎,它是一个基于模板来生成文本输出的一个工具.是除了JSP之外被使用得最多的页面模板技术之一,另一个比较有名的模板则是Velocity.     用户可以使用FreeMarker来生成所需要的内容,通常由Java提供数据模型,FreeMarker通过模板引擎渲染数据模型,这样最终得到我们想要的内容.

三、Spring Framework 4.0的新特性和增强

Spring框架于2004年首次发布,此后出现了重大的重大修改:Spring 2.0提供了XML名称空间和AspectJ支持;Spring 2.5采用了注解驱动的配置,Spring 3.0在框架代码库中引入了强大的Java 5+基础,以及诸如基于Java的@configuration模型之类的特性. 版本4.0是Spring框架的最新主要版本,也是第一个完全支持Java 8特性的版本,您仍然可以使用Spring的旧版本的Java,然而,现在已经将最低要求提高到Java SE 6,我们还利用了一个

Atitit spring 3.0 3.1 3.2 4.0 4.3 5.0 新特性

Spring3.0的新特性及其分析 - 我的人生不甘于平庸! - ITeye技术网站.html Spring3.0带来的新特性 - 未来之路 - 博客频道 - CSDN.NET.html Spring 3.1 新特性一览表 - 开源中国社区.html Spring 3.2三个值得关注的新特性 - 51CTO.COM.html Spring 4.3 的新功能和增强 - ImportNew.html Spring 4.x框架中的新特性---Spring4.0框架的新功能和改善 - FireOfSta

Spring MVC 3.0.5+Spring 3.0.5+MyBatis3.0.4全注解实例详解(三)

前两章我为大家详细介绍了如何搭建Maven环境.Spring MVC的流程结构.Spring MVC与Struts2的区别以及示例中的一些配置文件的分析.在这一章,我就对示例的层次结构进行说明,以及MyBatis的一些简单介绍. 本文不会对MyBatis作详细说明,大象还是假定阅读本文的朋友对MyBatis(ibatis)有最基本的了解,只有这样才能较好的理解本文的内容.关于MyBatis请查看它的官方文档及其它参考资料,本文不作详细讨论. 一.工程结构图      上面这是典型的Maven项目

Spring -- 4.0新特性 -- 泛型依赖注入

泛型依赖注入为spring4.0版本新增加的特性. 目录结构 BaseService.java类 public class BaseService<T> { @Autowired private BaseRespository baseRespository; public void save() { System.out.println("Base Class save method"); System.out.println(baseRespository); } }

0.9.0.RELEASE版本的spring cloud alibaba nacos+gateway降级处理实例

今天看下网关怎么弄,我们测试还是基于之前弄的服务提供方和消费方(最新的参见0.9.0.RELEASE版本的spring cloud alibaba sentinel+feign降级处理实例).这个gateway是用来替换zuul的,我们看下它怎么来跟nacos玩.三板斧: 1.pom: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.or