`
fuhuijun
  • 浏览: 32080 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

spring--属性转换器

阅读更多

* 自定义属性编辑器,spring配置文件中的字符串转换成相应的对象进行注入 spring已经有内置的属性编辑器,我们可以根据需求自己定义属性编辑器 * 如何定义属性编辑器?

 1、继承PropertyEditorSupport类,覆写setAsText()方法

 2、将属性编辑器注册到spring中

     看下面示例:

    (1)继承PropertyEditorSupport类,覆写setAsText()方法

       

import java.beans.PropertyEditorSupport;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * 自定义属性编辑器
 * @author Administrator
 */
public class PropertyEditorConvertor extends PropertyEditorSupport {
	
	String format = "";//注入到spring中
	
	@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;
	}
	
}

    (2)写一个javaBean,就两属性,这里以转换Date类型为例

   

public class Bean1 {
	private String name;
	private Date date;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Date getDate() {
		return date;
	}
	public void setDate(Date date) {
		this.date = date;
	}
	
}

 

    (3)配置文件appliactionContext.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="propertyEditorConvertor" class="com.bjsxt.spring.PropertyEditorConvertor"></bean>
	-->
	<bean id="customEditorConfigurer" class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors"><!-- 这个name是写死的,是CustomEditorConfigurer类中的属性-->
			<map><!--spring是将属性放到map里面来实现的转换的 -->
				<entry key="java.util.Date"><!-- 属性为Date类型的数据 -->
					<bean class="com.bjsxt.spring.PropertyEditorConvertor"> <!-- 用于转换属性的转换器 -->
						<property name="format" value="yyyy/MM/dd"/>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
</beans>

 

    (4)写一个测试

   

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class SpringTest {
	public static void main(String[] args){
		BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
		Bean1 bean1 = (Bean1)factory.getBean("bean1");
		System.out.println("bean1.name = " + bean1.getName());
		System.out.println("bean1.date = " + bean1.getDate());
	}
}

 

    OK!如果时间能打印出来,就说明属性编辑器配置好了

   

分享到:
评论
2 楼 shuhailongjacky13 2012-04-26  
     
1 楼 shuhailongjacky13 2012-04-26  
Bean1 bean1 = (Bean1)factory.getBean("bean1");   能找到吗?

相关推荐

    spring-boot-demo

    在Spring Boot项目中,主要的配置文件是`application.properties`或`application.yml`,它们定义了应用的各种属性,包括服务器端口、数据库连接信息、日志级别等。在"spring-boot-demo"项目中,我们可以找到这些配置...

    spring-oxm源码

    4. **类型转换器**:在`org.springframework.oxm.converter`包下,定义了一系列的`Converter`,它们负责不同类型间的转换,比如`StringToObjectConverter`将XML字符串转换为Java对象。 四、实际应用 在实际项目中...

    spring-boot-security

    3. **过滤器链(Filter Chain)**:Spring Security的核心组件之一是过滤器链,它由多个过滤器组成,如`UsernamePasswordAuthenticationFilter`和`HttpSessionAuthenticationStrategy`等。这些过滤器负责处理HTTP...

    spring-mvc-4.2.xsd.zip

    这些配置元素允许开发者声明式地配置控制器、视图解析器、转换服务、消息源等组件。 例如,`&lt;mvc:annotation-driven&gt;`元素用于启用基于注解的控制器支持,这意味着Spring MVC会自动扫描并处理带有`@Controller`注解...

    spring-jdbc-4.2.4.RELEASE.jar,spring-tx-4.2.4.RELEASE.jar,jdbcTemplate使用的jar包

    在Spring中,`PlatformTransactionManager`是所有事务管理器的接口,如`DataSourceTransactionManager`就是针对数据源的事务管理器。`@Transactional`注解用于标记需要进行事务管理的方法,其包含多个属性,如`...

    spring-boot-starter-mybatis-spring-boot-1.1.1.zip

    接着,我们创建MyBatis的核心配置文件`mybatis-config.xml`,定义数据源、事务管理器等信息。Spring Boot默认会寻找类路径下的`mybatis-config.xml`文件。 ```xml &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;!...

    mybatis-spring-1.3.2.jar

    7. **Exception Translation**: MyBatis-Spring 能够将 MyBatis 抛出的异常转换为 Spring Data Access Exception Hierarchy 中的异常,使得异常处理更加统一。 在实际开发中,使用 `mybatis-spring-1.3.2.jar` 可以...

    spring4.3.16相关jar包打包下载

    它可以用于属性访问、方法调用、运算和类型转换等。 9. **spring-tx-4.3.16.RELEASE.jar**:事务管理模块,支持编程和声明式事务管理,可以应用于JDBC、Hibernate、JPA等数据访问技术。 10. **spring-context-...

    使用 Spring-WS 完成的 Web Service (SOAP)

    3. **异常转换**:当服务抛出异常时,Spring-WS 能够自动将这些异常转换为 SOAP 错误消息。 4. **安全集成**:与 Spring Security 集成,可以轻松地实现 Web 服务的安全性。 5. **模块化设计**:Spring-WS 由多个...

    Spring学习笔记(11)----自定义属性编辑器

    总之,自定义属性编辑器是Spring框架中一个非常实用的特性,它允许我们扩展和定制数据转换逻辑,以适应各种复杂的需求。通过理解和熟练运用自定义属性编辑器,开发者可以更好地利用Spring的IoC功能,提高代码的灵活...

    spring-jdbc源码

    接着,让我们来看看DataSourceTransactionManager,它是Spring提供的事务管理器,主要用于管理基于DataSource的事务。在Spring-JDBC中,事务的配置和管理是非常关键的一环。DataSourceTransactionManager通过获取...

    spring-framework-3.0.5.RELEASE-dependencies1

    Spring允许集成JiBX,提供了一种将XML配置转换为Java对象的便捷方式。 10. **javax.servlet**:这是Servlet API,是Java web开发的基础,Spring的DispatcherServlet就是基于这个API实现的,负责处理HTTP请求并分发...

    spring-websocket-4.2.xsd.zip

    5. `&lt;websocket:message-type-converter&gt;`:定义消息类型转换器,用于将接收到的消息转换为应用程序可以理解的格式,反之亦然。 了解并熟练使用这些配置元素,开发者可以创建一个功能完备的Spring WebSocket应用,...

    spring-mvc-官方中文文档

    9. **数据绑定**:Spring MVC 自动支持请求参数到 Java 对象的绑定,以及对象属性到视图的显示。@RequestParam、@PathVariable、@ModelAttribute 等注解可以帮助完成数据绑定。 10. **异常处理**:通过@...

    spring-framework-4.1.5.RELEASE

    3. **Spring Core**:spring-core-4.1.2.RELEASE.jar包含了核心工具类,如反射、类型转换、事件处理等,为Spring框架的其他模块提供了基础支持。 4. **Spring Web MVC**:spring-webmvc-4.1.5.RELEASE.jar是Spring...

    spring-framework-4-reference

    Registering a LoadTimeWeaver允许在应用类加载器的加载时将类转换器应用到类上。 此外,ApplicationContext接口提供了Spring IoC容器的主要实现,它扩展了BeanFactory接口,增加了更多的企业级功能,如支持国际化...

    spring-framework-reference

    依赖注入(Dependency Injection, DI)是一种软件设计模式,它提倡通过构造函数、方法或属性来传递对象所依赖的其他对象。这种方式可以降低组件之间的耦合度,并且使得测试变得更加容易。在Spring框架中,依赖注入是...

    spring-boot-excel springboot整合easyexcel 有注释 打开可以运行

    例如,我们可以创建一个自定义的监听器类,实现`AnalysisEventListener`接口,重写`invoke`方法来接收并处理每一行的数据。 对于导出Excel,EasyExcel提供`write`方法,我们需要指定输出的OutputStream和一个数据...

    spring-jms-4.3.4.RELEASE.zip

    2. **高级消息选择器**:允许开发者根据消息头和属性进行更复杂的筛选,只处理符合特定条件的消息。 3. **异步消费者**:通过使用监听容器,可以实现消息的异步处理,提高系统的响应性和并发能力。 4. **故障恢复和...

    spring-集合注入、自定义转换器

    在Spring框架中,集合注入和自定义转换器是两个重要的概念,它们对于应用程序的灵活性和扩展性至关重要。这里,我们将深入探讨这两个主题,并通过实例代码来理解它们。 **集合注入** 集合注入允许我们在Spring配置...

Global site tag (gtag.js) - Google Analytics