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 ...
随机推荐
- CentOS 7.X 防火墙简单配置
CentOS7使用的是Linux Kernel 3.10.0的内核版本,新版的Kernel内核已经有了防火墙netfilter,并且使用效能更高,稳定性更好. 配置防火墙的两种方法: 一.使用xml配 ...
- laravel5.5配置信息
目录 1 环境配置 1.1 检索环境配置 1.2 确定当前环境 2 访问配置值 3 配置缓存 4 维护模式 配置文件在config目录下,为了便于不同人员的开发,我们可以使用不同的.env文件来配置各 ...
- React + webpack 快速搭建开发环境
因网上大多React + webpack快速搭建的运行不起来,便自行写了一个.在搭建开发环境的前需安装nodejs,npm. 新建一个工作目录,比如叫reactdome,在reactdome目录中运行 ...
- 新兵易学,老兵易用----C++(C++11的学习整理---如何减少代码量,加强代码的可读性)
1.auto类型推导 auto推导最大的优势就是在拥有初始化表达式的复杂类型变量声明时简化代码. auto第二个优势就是免去了程序员在一些类型声明时的麻烦,或者避免一些在类型声明时的错误. auto第 ...
- python自动化运维篇
1-1 Python运维-课程简介及基础 1-2 Python运维-自动化运维脚本编写 2-1 Python自动化运维-Ansible教程-Ansible介绍 2-2 Python自动化运维-Ansi ...
- 分享6个网址二维码API接口
1.http://pan.baidu.com/share/qrcode?w=150&h=150&url=http://www.54admin.net 2.http://b.bshare ...
- cloud-init简介及组件说明
http://cloudinit.readthedocs.io/en/latest/topics/examples.html介绍: cloud-init是专为云环境中虚拟机的初始化而开发的工具, ...
- 深入探讨ui框架
深入探讨前端UI框架 1 前言 先说说这篇文章的由来 最近看riot的源码,发现它很像angular的dirty check,每个component ( tag )都保存一个expressions数组 ...
- 【转】在Unity中读写文件数据:LitJSON快速教程
作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 介绍 JSON是一个简单的,但功能强大的序列 ...
- intellij idea导入不了java.util.Date解决办法
可以在Settings -> Editor -> General -> Auto Import,将Exclude中的java.util.Date删除.