`
hwaspf
  • 浏览: 8314 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring的一些基本配置

阅读更多
package org.zhang.client;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import java.beans.PropertyEditorSupport;
/**
 * 这是个属性编辑器   继承了 java.beans.PropertyEditorSupport 别继承PropertyEditor 类      
 *
 */
public class PropEditor extends PropertyEditorSupport {

	private String format ;
	public void setFormat(String format) {
		this.format = format;
	}
	
	// 这个方法可以是属性编辑器的关键
	@Override
	public void setAsText(String text) throws IllegalArgumentException {
		SimpleDateFormat df = new SimpleDateFormat(format);
		try {
			Date date = df.parse(text);
			this.setValue(date);
		} catch (ParseException e) {
			e.printStackTrace();
		}
	}
}


package org.zhang.client;

import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class User {
	private int id;
	private String username;
	private String password;
	private Address address;
	
	private Set<Integer> setProperty;
	private Set<Address> setAddress;
	
	private List<String> listProperty;
	private List<Address>listAddress; 
	
	private Map<String,String> mapProperty;
	private Map<String,Address> mapAddress;
	
	private Properties propertiesType;
	
	private Date date;//   需要属性编辑器      PropEditor 就是实现这个功能的。
	                  //    PropEditor   继承了 java.beans.PropertyEditorSuppor类
	
	public Date getDate() {
		return date;
	}
	public void setDate(Date date) {
		this.date = date;
	}
	public User(){
		
	}
	public User(int id, String username, String password , Address address){
		this.id = id;
		this.username = username;
		this.password = password;
		this.address = address;
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public Address getAddress() {
		return address;
	}
	public void setAddress(Address address) {
		this.address = address;
	}
	public Set<Integer> getSetProperty() {
		return setProperty;
	}
	public void setSetProperty(Set<Integer> setProperty) {
		this.setProperty = setProperty;
	}
	public List<String> getListProperty() {
		return listProperty;
	}
	public void setListProperty(List<String> listProperty) {
		this.listProperty = listProperty;
	}
	public Map<String, String> getMapProperty() {
		return mapProperty;
	}
	public void setMapProperty(Map<String, String> mapProperty) {
		this.mapProperty = mapProperty;
	}
	public Properties getPropertiesType() {
		return propertiesType;
	}
	public void setPropertiesType(Properties propertiesType) {
		this.propertiesType = propertiesType;
	}
	public Set<Address> getSetAddress() {
		return setAddress;
	}
	public void setSetAddress(Set<Address> setAddress) {
		this.setAddress = setAddress;
	}
	public List<Address> getListAddress() {
		return listAddress;
	}
	public void setListAddress(List<Address> listAddress) {
		this.listAddress = listAddress;
	}
	public Map<String, Address> getMapAddress() {
		return mapAddress;
	}
	public void setMapAddress(Map<String, Address> mapAddress) {
		this.mapAddress = mapAddress;
	}
	
	public String toString(){
		return id + "  " + username + "   " + password;
	}
	

}


<?xml version="1.0" encoding="gbk"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
			http://www.springframework.org/schema/beans 
			http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
			http://www.springframework.org/schema/aop 
			http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
			http://www.springframework.org/schema/tx 
			http://www.springframework.org/schema/tx/spring-tx-2.5.xsd 
		    http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context-2.5.xsd ">
	
	<!-- 通过无参构造配置    no-args constructor of configuration-->
	<bean id="user" class="org.zhang.client.User"></bean>
	
	<!--
		通过有参构造配置 (int , string , string ,Address)参数是基本类型,引用类型 have-args
		constructor of configuration
	-->
	<bean id="userHaveArgs" class="org.zhang.client.User">
		<constructor-arg type="int" value="1" index="0"></constructor-arg>
		<constructor-arg type="java.lang.String" value="123456"
			index="2"></constructor-arg>
		<constructor-arg type="java.lang.String" value="zhangshaobin"
			index="1"></constructor-arg>
		<!--
			两种方法 下面的一种方法要先在这个 bean 外面在定义一个 bean 构造地址的对象 <constructor-arg
			type="org.zhang.client.Address"> <bean
			class="org.zhang.client.Address"></bean> </constructor-arg>
		-->
		<constructor-arg type="org.zhang.client.Address" ref="address"></constructor-arg>
	</bean>
	<bean id="address" class="org.zhang.client.Address"></bean>
	
	<!-- 通过setter 方法配置      普通类型的属性 -->
	<bean id="userSetProperty" class="org.zhang.client.User">
		<property name="id" value="2"></property>
		<property name="username" value="宋慧乔"></property>
		<property name="password" value="654321"></property>
	</bean>
	
	
	<!-- 通过   setter 方法配置      Set类型的属性   Set集合中放着  基本数据类型 -->
	<bean id="userSet" class="org.zhang.client.User">
		<property name="setProperty">
			<set>
				<value>1</value>
				<value>2</value>
				<value>3</value>
			</set>
		</property>
	</bean>
	
	<!-- 通过   setter 方法配置      Set类型的属性   Set集合中放着  引用类型 -->
	<bean id="userSetComplex" class="org.zhang.client.User">
		<property name="setAddress">
			<set>
				<ref bean="address" />
			</set>
			<!--
				这种方法是内置 bean 上面的方法是引用 外部的 bean <set> <bean id="addressSet"
				class="org.zhang.client.Address"> <property name="id"
				value="1"></property> <property name="country"
				value="china"></property> <property name="province"
				value="beijing"></property> <property name="city"
				value="beijing"></property> </bean> </set>
			-->
		</property>
	</bean>
	
	<!-- 通过   setter 方法配置    List类型的属性  List集合中放着  基本类型 -->
	<bean id="userList" class="org.zhang.client.User">
		<property name="listProperty">
			<list>
				<value>1</value>
				<value>2</value>
				<value>zhangshaobin</value>
			</list>
		</property>
	</bean>
	
	<!-- 通过   setter 方法配置      List类型的属性  List集合中放着  引用类型 -->
	<bean id="userListComplex" class="org.zhang.client.User">
		<property name="listAddress">
			<list>
				<ref bean="address" />
				<!--
					上面的这句 与 注释的 效果相同 上面的是引用外部的bean, 本句是内置bean <bean id="addressList"
					class="org.zhang.client.Address"> <property name="id"
					value="2"></property> <property name="country"
					value="USA"></property> <property name="province" value="Los
					Angeles"></property> <property name="city" value="Los
					Angeles"></property> </bean>
				-->
			</list>
		</property>
	</bean>
	
	<!-- 通过  setter 方法配置           map 类型             map中放着是 基本类型的 -->
	<bean id="userMap" class="org.zhang.client.User">
		<property name="mapProperty">
			<map>
				<entry key="a" value="张少斌"></entry>
				<entry key="b" value="刘德华"></entry>
				<entry key="c" value="刘若英"></entry>
			</map>
		</property>
	</bean>
	
	<!-- 通过  setter 方法配置           map 类型             map中放着是 基本类型的 -->
	<bean id="userMapComplex" class="org.zhang.client.User">
		<property name="mapAddress">
			<map>
				<!--
					引入外部的 bean 下面的内部嵌套的 bean <entry key="a"
					value-ref="address"></entry>
				-->
				<entry key="b">
					<bean class="org.zhang.client.Address">
						<property name="id" value="3"></property>
						<property name="country" value="中国"></property>
						<property name="province" value="石家庄"></property>
						<property name="city" value="行唐"></property>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
	
	
	<!--  持久性文件      XXX.properties  的配置   -->
	<bean id="setProperties" class="org.zhang.client.User">
		<property name="propertiesType">
			<props>
				<prop key="a">詹姆斯</prop>
				<prop key="b">科比</prop>
				<prop key="c">姚明</prop>
			</props>
		</property>
	</bean>
	
	<!-- 属性编辑器    解决了java.util.Date型数据的配置 -->
	<bean id="customEditorConfigurer"
		class="org.springframework.beans.factory.config.CustomEditorConfigurer">
		<property name="customEditors">
			<map>
				<entry key="java.util.Date">
					<bean class="org.zhang.client.PropEditor">
						<property name="format" value="yyyy-MM-dd"></property>
					</bean>
				</entry>
			</map>
		</property>
	</bean>
	<bean id="userDate" class="org.zhang.client.User">
		<property name="date">
			<value>2009-06-10</value>
		</property>
	</bean>
</beans>
分享到:
评论

相关推荐

    Spring的基本配置

    本篇文章将详细探讨Spring的基本配置,帮助你深入理解如何在项目中设置和使用Spring。 一、Spring配置概述 Spring的配置方式主要有两种:XML配置和Java配置。早期,XML配置是主流,而现在,随着Spring Boot的兴起...

    Eclipse spring基本配置步骤

    本教程将详细介绍在Eclipse中进行Spring基本配置的步骤。 首先,确保你已经安装了Eclipse IDE,并且准备好了Spring框架的相关库文件。在本例中,我们使用的版本是Spring 2.5.5,对应的jar文件为`spring-2.5.5.jar`...

    spring bean XML配置入门

    掌握这些知识点后,你将能够创建基本的Spring应用,并开始探索更高级的特性,如AOP、Spring MVC等。记得实践是检验真理的唯一标准,尝试自己动手编写XML配置文件并运行Spring应用,这将有助于巩固理论知识。

    spring 下载与配置

    以上就是关于Spring框架的下载与配置的基本介绍。在实际开发中,我们还需要考虑如何整合其他Spring项目,如Spring MVC用于构建Web应用,Spring Data用于数据库操作,以及Spring Boot用于简化Spring应用的初始搭建和...

    spring的一些基本知识及如何配置使用

    【Spring 框架基本知识及配置使用】 Spring 框架是Java开发中的一个核心框架,由Rod Johnson创建,最初源于《Expert One on One J2EE Design and Development》一书中的理念。Spring的主要目标是简化企业级应用的...

    Spring Security 基本使用和配置代码

    通过以上步骤,你已经掌握了Spring Security的基本配置和使用。不过,Spring Security的功能远不止这些,它还包括CSRF保护、安全过滤链、OAuth2整合、JWT令牌支持等高级特性。继续探索Spring Security,你会发现更多...

    springsecurity使用配置详解

    默认的安全配置可以满足基本需求,但通常需要自定义以满足特定应用的要求。 6. **Spring MVC集成**: Spring Security可以无缝集成到Spring MVC中,保护控制器方法。通过`@Secured`、`@PreAuthorize`和`@...

    spring security2配置

    在这个"Spring Security2配置"的主题中,我们将深入探讨如何配置Spring Security来保护我们的应用程序,以及它的一些核心概念。 首先,让我们理解Spring Security的基本组件。`Users.java`、`Roles.java`暗示了用户...

    spring配置文件加密实现

    首先,我们需要理解Spring配置文件的基本结构。Spring的配置文件通常为XML格式,如`applicationContext.xml`,它包含了bean的定义、属性值以及依赖关系等。这些数据在未加密状态下可能存在安全风险。 加密Spring...

    Spring—下载与配置

    本篇将详细介绍Spring框架的下载、安装以及基本配置过程。 首先,我们来了解如何下载Spring框架。Spring框架的官方下载地址是https://spring.io/projects/spring-framework。在该页面,你可以找到最新版本的Spring...

    spring cloud基本组件配置

    这个文档时具体配置spring cloud的基本组件的注解和依赖包的文档,上次上传的spring cloud的是纯理论的,这个是具体实现;

    spring-security3 配置和使用

    Spring Security 3 配置和使用 Spring Security 是一个强大且灵活的安全框架,旨在保护基于 Java 的 Web 应用程序。Spring Security 3 是 Spring Security 框架的第三个主要版本,提供了许多新的功能和改进。下面...

    spring cloud2.0 eureka server spring security配置

    - 在`application.yml`或`application.properties`文件中,你需要定义Eureka Server的基本配置,如服务端口、实例ID、区域等。 - 示例配置: ```yaml server: port: 8761 eureka: instance: hostname: ...

    Spring配置JTA事务管理

    除了上述基本配置,你可能还需要关注以下几点: - 恢复机制:JTA支持事务的恢复,这对于处理系统崩溃或异常情况非常有用。你需要了解如何在Spring中启用这个功能,并处理可能的恢复操作。 - 事务同步:Spring的`...

    spring最基本jar

    这个名为“spring最基本jar”的压缩包很可能包含了Spring框架的基础组件,让我们来详细探讨一下Spring框架的相关知识点。 1. **IoC容器**:Spring的核心是IoC容器,它负责管理对象的生命周期和依赖关系。通过配置...

    spring配置文件详解

    总结起来,`applicationContext.xml`的基本配置主要涉及到Spring的bean定义、数据源配置、SessionFactory创建以及HibernateTemplate的设置,这些都是Spring整合Hibernate并进行数据访问的关键步骤。通过这种方式,...

    spring2 整合 Dwr(把DWR的配置写到Spring的配置文件)

    **Spring2 整合 DWR:将DWR配置融入Spring配置文件** Direct Web Remoting (DWR) 是一个开源的JavaScript库,它允许在浏览器和服务器之间进行实时、安全的双向通信,使得Web应用程序能够拥有类似桌面应用的交互性。...

    spring mvc 基本配置

    springMvc的基本配置文件注释一些注解类,需要的可以看看

    SpringBoot + Spring Security 基本使用及个性化登录配置详解

    SpringBoot + Spring Security 基本使用及个性化登录配置详解 Spring Security 是一个功能强大且灵活的安全框架,它提供了认证、授权、攻击防护等功能。SpringBoot 是一个基于 Spring 框架的框架,它提供了很多便捷...

Global site tag (gtag.js) - Google Analytics