java代码

package com.stono.sprtest;

import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext; public class AppBean3 {
@SuppressWarnings("resource")
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("appbeans3.xml");
List<?> list = (List<?>) context.getBean("instruments");
for (Object object : list) {
System.out.println(object);
}
Elvis elvis = (Elvis) context.getBean("elvis");
System.out.println(elvis.getName()); // #{'abc'[0]}
System.out.println(elvis.getName2()); // #{map['b']}
@SuppressWarnings("unchecked")
Map<String, ?> map = (Map<String, ?>) context.getBean("map");
System.out.println(map.get("c"));
System.out.println(map.get("d")); // 从属性文件中读取内容;
System.out.println(map.get("e")); // 打出了全部
System.out.println(map.get("e1"));
Object x = map.get("f"); // x对象为properties对象;
System.out.println(x); // 打出了全部
System.out.println(map.get("f1"));
Set<?> set = (Set<?>) context.getBean("set");
System.out.println(set);
Object prop = context.getBean("prop"); // 获取属性文件对象
System.out.println(prop); // {stono.amber=Amber, stono.minstrel=Minstrel}
System.out.println(map.get("g"));// #{set.?[age eq 10]}表达式
System.out.println(map.get("h"));// #{set.^[age gt 11]}表达式
System.out.println(map.get("i"));// #{set.$[age gt 11]}表达式
Object x2 = map.get("j");// #{ .![]}返回ArrayList
System.out.println(x2);// #{set.![age]}表达式 result:[10, 15, 20, 25, 25];即便只有一个元素,也是返回ArrayList
System.out.println(map.get("k"));// #{set.?[age gt 10]}表达式
Object list2 = context.getBean("list2");
System.out.println(list2);
System.out.println(context.getBean("pi"));// util:constant标签
Object ppath = context.getBean("ppath"); // util:property-path标签
System.out.println(ppath);
System.out.println(map.get(Math.PI)); //map中key-ref的使用;
}
}

xml代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"
xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-4.1.xsd">
<util:list id="instruments">
<bean class="com.stono.sprtest.Cymbal"></bean>
<bean class="com.stono.sprtest.Harmonica"></bean>
<bean class="com.stono.sprtest.Saxophone"></bean>
</util:list>
<bean id="elvis" class="com.stono.sprtest.Elvis">
<property name="instrument" value="#{instruments[0]}"></property>
<property name="name" value="#{'abc'[0]}"></property>
<property name="name2" value="#{map['b']}"></property>
</bean>
<util:map id="map">
<entry key="a" value="a"></entry>
<entry>
<key>
<value>b</value>
</key>
<value>b</value>
</entry>
<entry key="c" value-ref="instruments"></entry>
<entry key="d" value="#{prop['stono.amber']}"></entry>
<entry key="e" value="#{systemEnvironment }"></entry>
<entry key="e1" value="#{systemEnvironment['USERPROFILE'] }"></entry>
<entry key="f" value="#{systemProperties}"></entry>
<entry key="f1" value="#{systemProperties['os.name']}"></entry>
<entry key="g" value="#{set.?[age eq 10]}"></entry>
<entry key="h" value="#{set.^[age gt 11]}"></entry>
<entry key="i" value="#{set.$[age gt 11]}"></entry>
<entry key="j" value="#{set.![age]}"></entry>
<entry key="k" value="#{set.?[age gt 10]}"></entry>
<entry key-ref="pi" value="PI"></entry>
</util:map>
<util:set id="set">
<bean class="com.stono.sprtest.Duke" p:age="10"></bean>
<bean class="com.stono.sprtest.Duke" p:age="15"></bean>
<bean class="com.stono.sprtest.Duke" p:age="20"></bean>
<bean class="com.stono.sprtest.Duke" p:age="25"></bean>
<bean class="com.stono.sprtest.Duke" p:age="25"></bean>
</util:set>
<util:properties id="prop" location="classpath:settings.properties">
</util:properties>
<util:list id="list2">
<bean class="java.lang.Integer">
<constructor-arg>
<value>10</value>
</constructor-arg>
</bean>
<bean class="java.lang.String">
<constructor-arg>
<value>typography</value>
</constructor-arg>
</bean>
<bean class="java.util.Calendar" factory-method="getInstance"></bean>
</util:list>
<util:constant id="pi" static-field="java.lang.Math.PI"/>
<bean id="duke" class="com.stono.sprtest.Duke" p:age="80"></bean>
<util:property-path id="ppath" path="duke.age"/>
</beans>

最新文章

  1. 记得初学JS时候练个九九乘法表都写的要死要活
  2. Windows 7下硬盘安装Ubuntu 14.04图文教程
  3. Does Lamda expression return value?
  4. &lt;&lt;软技能,代码之外的生存技能&gt;&gt;读书笔记
  5. xgboost原理及应用
  6. Qt中的 Size Hints 和 Size Policies
  7. Python文件读写模式
  8. 非阻塞IO模式原理
  9. excel函数2
  10. jq筛选方法
  11. k8s nodeport下访问请求未被分发到所有node的排错(转)
  12. shell的命令替换和命令组合
  13. Table Dragger - 简单的 JS 拖放排序表格插件
  14. python 操作记事本
  15. IIS短文件名泄露漏洞检测
  16. mybatis 传递参数的两种方式与模糊匹配 很重要
  17. VIM的buffers
  18. Java-JUC(九):使用Lock替换synchronized,使用Condition的await,singal,singalall替换object的wait,notify,notifyall实现线程间的通信
  19. SQL中实现SPLIT函数几种方法
  20. Jquery WeUI(一)

热门文章

  1. js中原生对象、内置对象和宿主对象(转)
  2. Android USER 版本与ENG 版本的差异--MTK官方解释
  3. FIR数字滤波器的设计要点
  4. mysql建表---级联删除
  5. sed基本用法
  6. iOS开发——九切片
  7. LPC1788的LCD接口驱动真彩屏
  8. Android控件系列之RadioButton&amp;RadioGroup
  9. Github上的600多个iOS开源类库
  10. svn无法提交