Spring属性注入(普通属性注入,自定义属性编辑器)
2009-09-06 04:00
351 查看
Spring主要是用
DI
依赖注入方式,注入好了后统一由
IOC
容器进行管理,
Spring
有 普通属性注入,自定义属性编辑器
普通属性注入
第一种方式:
<property name=" 属性名
" value="
值
"/>
第二种方式 :
<property name="属性名
">
<value>值
</value>
</property>
=>
字符串
<property name="strValue" value="wangking" />
=>
int类型
<property name="intValue" value="123"/>
=>
List类型
<property name = "listValue">
<list>
<value> list1 </value>
<value> list2 </value>
</list>
</ property >
=>
Set 类型
<property name = "setValue">
<set>
<value> set1 </value>
<value> set2 </value>
</set>
</property>
=>
数组类型
<property name="arrayValue">
<list>
<value> array1 </value>
<value> array1 </value>
</list>
</property>
=>
Map 类型
<property name="mapvalue">
<map>
<entry key="key1" value="map1" />
<entry key="key2" value="map2" />
</map>
</property>
在客户端取值时可以通过Spring的BeanFactory获得执行的对象,
BeanFactory factory =new ClassPathXmlApplicationContext("applicationContext-k1.xml ");
Xml 文件有多个的情况下
,
可以将配置文件名放在一个数组,将数组传入
ClassPathXmlApplicationContext构造函数的参数里
String[] xmlArgs = {"applicationContext-k1.xml","applicationContext-k2.xml"};
BeanFactory factory = new ClassPathXmlApplicationContext(xmlArgs);
也可以用
*
通配符访问以某某前缀的所有文件,如
BeanFactory factory =new ClassPathXmlApplicationContext("applicationContext-*.xml ");
访问所有以 applicationContext-
前缀的
xml
文件
自定义属性编辑器
如某一类中有一属性为java.util.Date类型的。这个类型的属性需要用到属性编辑器,那么我
写java.util.Date的属性编辑器类(继承自PropertyEditorSupport,重写setAsText方法):
在配置文件中加入:
DI
依赖注入方式,注入好了后统一由
IOC
容器进行管理,
Spring
有 普通属性注入,自定义属性编辑器
普通属性注入
第一种方式:
<property name=" 属性名
" value="
值
"/>
第二种方式 :
<property name="属性名
">
<value>值
</value>
</property>
=>
字符串
<property name="strValue" value="wangking" />
=>
int类型
<property name="intValue" value="123"/>
=>
List类型
<property name = "listValue">
<list>
<value> list1 </value>
<value> list2 </value>
</list>
</ property >
=>
Set 类型
<property name = "setValue">
<set>
<value> set1 </value>
<value> set2 </value>
</set>
</property>
=>
数组类型
<property name="arrayValue">
<list>
<value> array1 </value>
<value> array1 </value>
</list>
</property>
=>
Map 类型
<property name="mapvalue">
<map>
<entry key="key1" value="map1" />
<entry key="key2" value="map2" />
</map>
</property>
在客户端取值时可以通过Spring的BeanFactory获得执行的对象,
BeanFactory factory =new ClassPathXmlApplicationContext("applicationContext-k1.xml ");
Xml 文件有多个的情况下
,
可以将配置文件名放在一个数组,将数组传入
ClassPathXmlApplicationContext构造函数的参数里
String[] xmlArgs = {"applicationContext-k1.xml","applicationContext-k2.xml"};
BeanFactory factory = new ClassPathXmlApplicationContext(xmlArgs);
也可以用
*
通配符访问以某某前缀的所有文件,如
BeanFactory factory =new ClassPathXmlApplicationContext("applicationContext-*.xml ");
访问所有以 applicationContext-
前缀的
xml
文件
自定义属性编辑器
如某一类中有一属性为java.util.Date类型的。这个类型的属性需要用到属性编辑器,那么我
写java.util.Date的属性编辑器类(继承自PropertyEditorSupport,重写setAsText方法):
package com.test; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @author wangking E-mail:admin717@gmail.com * @version 创建时间:2009-9-6 上午04:40:00 类说明 */ public class DatePropertyEditor extends PropertyEditorSupport { private String format; @Override public void setAsText(String text) throws IllegalArgumentException { SimpleDateFormat sdf = new SimpleDateFormat(format); // 格式化得类 构造传入定义的格式 try { Date date = sdf.parse(text); this.setValue(date); }catch (ParseException e) { e.printStackTrace(); } } public void setFormat(String format) { this.format = format; } }
在配置文件中加入:
<property name="date" value="2009-9-6" /> <!-- 定义属性编辑器 --> <bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date"> <bean class="com.test.DatePropertyEditor"> <property name="format" value="yyyy-MM-dd"/> </bean> </entry> </map> </property> </bean>
相关文章推荐
- Spring整理 --String int List Set Map Array 普通属性注入 属性编辑器
- Spring注入Date类型的属性,自定义Date属性编辑器
- (原)spring学习笔记4.普通属性注入
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- 模拟spring,自定义容器二(注解实现属性注入)
- spring学习教程8-自定义属性编辑器PropertyEditor 和自定义事件
- Spring自定义属性编辑器
- 使用Spring配置shiro时,自定义Realm中属性无法使用注解注入解决办法
- spring中自定义属性编辑器CustomEditorConfigurer
- spring中自定义属性编辑器CustomEditorConfigurer
- spring中自定义属性编辑器CustomEditorConfigurer
- ######【spring属性注入(Ioc的DI)总结】:注解方式属性注入,属性名任意.=for理解:Aop注入代理对象时,注入被增强类对象时,属性名为proxy(自定义)。
- Java spring自定义属性编辑器
- Spring自定义属性编辑器——1
- Spring自定义属性编辑器
- Spring自定义属性编辑器
- 详解spring自定义属性编辑器
- Spring4.0后自定义属性编辑器配置的变化
- Spring 普通属性注入(int ,String, List, Map, Set, String[])
- Spring自定义属性编辑器PropertyEditorSupport + 使用CustomEditorConfigurer注册属性编辑器