spring 讲对象的创建和依赖关系交给spring(IOC容器)来管理
srping实现的IOC 由DI实现(注入管理)
普通属性.日期的注入
外界想引用该类,都需要引用id,由id对应该引用类
如果不是类.不用ref 用value直接赋值
下面这个例子讲的是spring中对普通属性如何注入,对日期类型如何注入.
package zhc.love.dj.POJO; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; public class Bean { private String strvalue ; private int intvalue ; private List listvalue ; private Set setvalue ; private String[] arrayvalue ; private Map mapvalue ; //不支持日期类型 //得增加转换代码.用属性编辑器 //使用java.beans.PropertyEditorSupport类 SetAsText()方法 // private Date datavalue ; public String[] getArrayvalue() { return arrayvalue; } public void setArrayvalue(String[] arrayvalue) { this.arrayvalue = arrayvalue; } public int getIntvalue() { return intvalue; } public void setIntvalue(int intvalue) { this.intvalue = intvalue; } public List getListvalue() { return listvalue; } public void setListvalue(List listvalue) { this.listvalue = listvalue; } public Map getMapvalue() { return mapvalue; } public void setMapvalue(Map mapvalue) { this.mapvalue = mapvalue; } public Set getSetvalue() { return setvalue; } public void setSetvalue(Set setvalue) { this.setvalue = setvalue; } public String getStrvalue() { return strvalue; } public void setStrvalue(String strvalue) { this.strvalue = strvalue; } public Date getDatavalue() { return datavalue; } public void setDatavalue(Date datavalue) { this.datavalue = datavalue; } }
Converter类: 将String类型转换为对象
package zhc.love.dj.POJO; import java.beans.PropertyEditorSupport; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Converter extends PropertyEditorSupport { private String format = "yyyy-MM-dd"; //按照格式将string类型转换为指定的日期类型 /* 什么是属性编辑器,作用? 自定义属性编辑器,spring配置文件中的字符串转换成相应的对象进行注入 spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器 如何定义属性编辑器? * 继承PropertyEditorSupport类,覆写setAsText()方法, * 将属性编辑器注册到spring中,参见:applicationContextconverter.xml */ 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(); } } }
TestCase 类 : Junit测试单元
package zhc.love.dj.test; import org.springframework.beans.factory.BeanFactory; import org.springframework.context.support.ClassPathXmlApplicationContext; import zhc.love.dj.POJO.Bean; public class TestCase extends junit.framework.TestCase { public void testSpringValue(){ // 用spring的类来加载配置文件 //xml名字要与配置的名字相同,可以改变. // 读取配置文件的时候支持通配符,可以有多个配置文件,但是配置文件中的id不能相同 // 读取的配置文件支持数组读取 // String[] config = new String[]{"a.xml",b.xml} //BeanFactory factory = new ClassPathXmlApplicationContext(config); BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext*.xml"); Bean bean = (Bean)factory.getBean("bean"); System.out.println("string value : "+bean.getStrvalue()); System.out.println("int value :" + bean.getIntvalue()); System.out.println("list value: "+ bean.getListvalue()); System.out.println("set value:" + bean.getSetvalue()) ; System.out.println("array value :" + bean.getArrayvalue()); System.out.println("map value :" +bean.getMapvalue()); System.out.println("date value :" + bean.getDatavalue()); } }
配置转换类的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.0.xsd"> <!--讲自己写的类注入到spring中,将自己的字符串转换为日期类型 --> <bean id="CustomEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer"> <property name="customEditors"> <map> <entry key="java.util.Date"> <bean class="zhc.love.dj.POJO.Converter"></bean> </entry> </map> </property> </bean> </beans>
配置spring的文件
<?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.0.xsd"> <bean id="bean" class="zhc.love.dj.POJO.Bean"> <!-- set方法所设置的属性 ,id不能重复--> <!-- 把实例化的事交给bean工厂来做 --> <property name="strvalue" value="I love you"></property> <!-- 两种形式给属性赋值 --> <property name="intvalue"> <value>1314</value> </property> <property name="listvalue"> <list> <value>list1</value> <value>list2</value> </list> </property> <property name="setvalue"> <set> <value>set1</value> <value>set2</value> </set> </property> <property name="arrayvalue"> <list> <value>arraylist1</value> <value>arraylist2</value> </list> </property> <property name="mapvalue"> <map> <entry key="key1" value="mapvalue1"></entry> <entry key="key2" value="mapvalue2"></entry> </map> </property> <property name="datavalue"> <value>2008-08-08</value> </property> </bean> </beans>
- TestSpingValue.rar (8.4 KB)
- 下载次数: 3
发表评论
-
关于java内存的一些文章
2009-08-31 13:09 978http://blog.csdn.net/chensheng9 ... -
JFreechart 学习笔记 二
2009-07-20 13:55 1325比较难懂的英文词 domain axis : 域轴 ran ... -
JFreechart 学习笔记 一
2009-07-20 13:53 24061.挑选图表工具 常用的 ... -
Struts中ActionError学习
2009-05-16 09:09 924http://hi.baidu.com/mapleelf/bl ... -
spring学习笔记(十六)-声明式事务的例子
2009-03-27 14:47 1341事务的传播特性1.声明 ... -
spring学习笔记(十五)-编程式事务例子
2009-03-27 14:45 1248声明式事务 编程式事务调试日志,还有记录日志 自己手动写事务 ... -
spring学习笔记(十四)
2009-03-26 01:17 757如果不实现接口,必须使用cglib库的支持才行. spr ... -
spring学习笔记(十三)
2009-03-26 01:14 823如果目标对象实现了接口,默认情况下采用jdk动态代理机制实现a ... -
spring学习笔记(十二)
2009-03-26 01:06 757spring 对AOP的支持 从JoinPoint得到相关 ... -
spring学习笔记(十一)
2009-03-26 00:58 748spring对AOP的支持 采用在配置文件中配置的形式 ... -
spring学习笔记(十)
2009-03-26 00:53 666spring对AOP的支持 spring采用对AOP的支持 ... -
spring学习笔记(九)
2009-03-25 01:14 679http://www.shineblog.com/user5/ ... -
spring学习笔记(八)
2009-03-25 01:06 821轻量级最显著的特点:没有侵入性 控制反转: 用spring来 ... -
spring学习笔记(七)
2009-03-25 01:00 790今天学习了为什么要使用代理类,和静态代理类. pac ... -
spring学习笔记(六)
2009-03-24 11:57 705spring 自动装配 可以简化配置熟 两种都在beans标 ... -
spring学习笔记(五)
2009-03-24 10:52 663beans标签的属性 可以设置是配置文件初始化的时候是全部初始 ... -
spring学习笔记(四)
2009-03-24 10:12 646学习简化Spring的配置文件,对于多个有相同属性的对象,抽象 ... -
spring学习笔记(3.20)
2009-03-22 01:58 780用Spring来代替自己创建 ... -
spring学习笔记(3.20)
2009-03-22 01:43 783通过自己写例子理解工厂模式 测试工厂类,了解AOP,IOC机制 ...
相关推荐
《Spring 学习笔记三——深入理解Spring框架》 在我们的Spring学习旅程中,这篇笔记将带领大家更深入地探讨Spring框架的核心特性及其工作原理。Spring作为Java开发中广泛使用的轻量级框架,其强大的功能和灵活性...
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
Spring学习笔记( spring视频笔记)
spring学习笔记
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...
这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
Hystrix是一个延迟和容错库,旨在隔离访问远程系统、服务和第三方库,停止级联失败,并提供后备选项。它提供了熔断、线程隔离、信号量隔离、超时机制、并发数限制、请求缓存、请求合并等容错功能。Hystrix通过仪表板...
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...
Spring6学习笔记,师承老杜
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记Spring学习笔记
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
spring实用学习笔记(能够跟着实操的)spring实用学习笔记(能够跟着实操的)spring实用学习笔记(能够跟着实操的)spring实用学习笔记(能够跟着实操的)spring实用学习笔记(能够跟着实操的)spring实用学习笔记...
Spring学习笔记.xmind