Spring:特殊数据类型的属性注入(基于配置文件)
该处提到的特殊数据类型指的是除了基础数据类型和String以外的其他常用的数据类型,如:List、Map、Set、以及pojo对象等。则我们创建的Person类定义为:
package bjtu.wellhold.testSpring; import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set; import org.springframework.stereotype.Repository; //@Repository("person")
public class Person { private String name;
private int age;
private double money;
private List<String> list;
private Set<String> set;
private Map<String,String> map;
private String[] array;
private Properties properties;
private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public List<String> getList() {
return list;
}
public void setList(List<String> list) {
this.list = list;
}
public Set<String> getSet() {
return set;
}
public void setSet(Set<String> set) {
this.set = set;
}
public Map<String, String> getMap() {
return map;
}
public void setMap(Map<String, String> map) {
this.map = map;
}
public String[] getArray() {
return array;
}
public void setArray(String[] array) {
this.array = array;
}
public Properties getProperties() {
return properties;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
} @Override
public String toString() {
return "Person [name=" + name + ", age=" + age + ", money=" + money + ", list=" + list + ", set=" + set
+ ", map=" + map + ", array=" + Arrays.toString(array) + ", properties=" + properties + ", user=" + user
+ "]";
} }
因为还涉及到向我们的Person当中注入一个Pojo类,所以我们再定义一个Pojo类叫User:
package bjtu.wellhold.testSpring;
public class User {
private int age;
private String username;
private String password;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
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;
}
@Override
public String toString() {
return "User [age=" + age + ", username=" + username + ", password=" + password + "]";
}
}
之后则需要到我们的配置文件当中去进行配置,配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<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"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 对要注入的User类进行注册和通过Setter进行属性注入 -->
<bean id="user" class="bjtu.wellhold.testSpring.User">
<property name="username" value="wellhold"></property>
</bean> <!-- 可以参考各个特殊数据类型是如何进行属性注入的 -->
<bean id="person" class="bjtu.wellhold.testSpring.Person">
<property name="name">
<value>Tom</value>
</property>
<property name="age">
<value>28</value>
</property>
<property name="money">
<value>100.9</value>
</property>
<property name="list">
<list>
<value>shandong</value>
<value>杭州</value>
<value>xihu</value>
</list>
</property>
<property name="set">
<set>
<value>13900</value>
<value>13900</value>
<value>13800</value>
</set>
</property>
<property name="map">
<map>
<entry>
<key>
<value>key1</value>
</key>
<value>value1</value>
</entry>
<entry key="key2" value="value2">
</entry>
</map>
</property>
<property name="array">
<list>
<value>xiaoh</value>
<value>xiaob</value>
</list>
</property>
<property name="properties">
<props>
<prop key="pp1">pp1Value</prop>
<prop key="pp2">pp2Value</prop>
</props>
</property>
<property name="user">
<ref bean="user"/>
</property>
</bean> </beans>
以上是通过配置文件的形式去进行特殊数据类型的属性注入的。
本文参考http://blog.csdn.net/niuniu20008/article/details/12559797的部分,并且通过自己尝试之后,攒写该文用于记录,以便今后使用。
Spring:特殊数据类型的属性注入(基于配置文件)的更多相关文章
- spring练习,使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录.要求如下: 通过 ...
- Spring中@value以及属性注入的学习
1.简单的Java配置 配置文件(jdbc.properties) jdbc.driverClassName=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://1 ...
- Spring boot将配置属性注入到bean类中
一.@ConfigurationProperties注解的使用 看配置文件,我的是yaml格式的配置: // file application.yml my: servers: - dev.bar.c ...
- Spring boot将配置属性注入到bean 专题
https://blog.csdn.net/wangmx1993328/article/details/81002901 Error starting ApplicationContext. To d ...
- Spring学习日记02_IOC_属性注入_其他类型属性
ICO操作Bean管理(xml注入其它类型属性) 字面量 null值 <property name="address"> <null></null&g ...
- Spring学习日记03_IOC_属性注入_集合类型属性
Ioc操作Bean管理(xml注入集合属性) 注入数组类型属性 注入List集合类型属性 注入Map集合类型属性 Stu类 public class Stu { //1. 数组类型属性 private ...
- Spring中集合类型属性注入
我们都知道如何去注入普通属性的值,非常简单,那么我们如何去注入开发中常见的集合类型的属性了,别急,往下看. 这里将介绍如何给Map list set Array Properties 这些属性注入值. ...
- Spring(二十):Spring AOP(四):基于配置文件的方式来配置 AOP
基于配置文件的方式来配置 AOP 前边三个章节<Spring(十七):Spring AOP(一):简介>.<Spring(十八):Spring AOP(二):通知(前置.后置.返回. ...
- 【坑】Spring中抽象父类属性注入,子类调用父类方法使用父类注入属性
运行环境 idea 2017.1.1 spring 3.2.9.RELEASE 需求背景 需要实现一个功能,该功能有2个场景A.B,大同小异 抽象一个抽象基类Base,实现了基本相同的方法BaseMe ...
随机推荐
- PJSIP-PJLIB-Socket
As we all know,most our projects are need to use the socket to programme.Use socket we can connect o ...
- USACO Section1.1 Broken Necklace 解题报告
beads解题报告 —— icedream61 博客园(转载请注明出处)---------------------------------------------------------------- ...
- 【Remove Duplicates from Sorted List 】cpp
题目: 第一次刷的时候漏掉了这道题. Given a sorted linked list, delete all duplicates such that each element appear o ...
- Metadata 的概念
https://www.ibm.com/developerworks/cn/cloud/library/1509_liukg_openstackmeta/ http://mathslinux.org/ ...
- React01
目录 React-day01 入门知识 React介绍 官网 React开发环境初始化 SPA 脚手架初始化项目(方便,稳定)* 通过webpack进行初始化 配置镜像地址 开发工具配置 元素渲染 组 ...
- vue 实例 网站
Pure vue demo 实战第一节:Vue基础一 Pure vue demo 实战第二节:Vue基础二 Pure vue demo 实战第三节:Vue组件 Pure vue demo 实战第四节: ...
- Linq学习(一)
与LINQ有关的语言特性 1.隐式类型 var 2.匿名类型 如:var obj = new {Guid.Empty, myTitle = "匿名类型", myOtherParam ...
- HS 光流法详解
前言 本文较为详细地介绍了一种经典的光流法 - HS 光流法. 光流法简介 当人的眼睛与被观察物体发生相对运动时,物体的影像在视网膜平面上形成一系列连续变化的图像,这一系列变化的图像信息不断 &quo ...
- PHP文件操作函数及文件指针理解
知识点: 一.fopen(),文件打开函数,读写参数有: 1.R : 只读,指针在文件开头 2.r+:读写,指针同上 3.W :只写,写入前会删除文件内容,然后指针回到文件开头,文件不存在则创建 4 ...
- msvs命令行编译lua5.3.4
msvs命令行编译lua5.3.4 vslua.bat @echo off md bin md lib md include cd src cl /c /nologo /W3 /O2 /Ob1 /Oi ...