Spring 参数注入
一个(类)Bean可能包含多种属性,这些属性怎么配置??? 见下:
用People Dog Cat Tiger Panda五个类来学习一些常用的=_=
重点在XML
<!--基本类型注入-->
<bean id="tiger" class="party.infoo.entity.Tiger">
<property name="name" value="Tiger_AA"/>
<property name="age" value="3"/>
</bean>
<bean id="cat" class="party.infoo.entity.Cat">
<property name="name" value="Cat_AA"/>
<property name="age" value="2"/>
</bean>
<bean id="dog" class="party.infoo.entity.Dog">
<property name="name" value="Dod_AA"/>
<property name="age" value="5"/>
</bean>
<bean id="panda" class="party.infoo.entity.Panda">
<property name="name" value="Panda_A"/>
<property name="age" value="3"/>
</bean>
<!--参数注入方法介绍-->
<bean id="people" class="party.infoo.entity.People">
<!--基本类型注入-->
<property name="name" value="People_AA"/> <!--bean注入-->
<property name="dog" ref="dog"/> <!--级联属性注入《要求已经new过的》-->
<property name="cat.name" value="Cat_BB"/> <!--内部bean注入-->
<property name="tiger">
<bean class="party.infoo.entity.Tiger">
<property name="name" value="Tiger_BB"/>
<property name="age" value="10"/>
</bean>
</property> <!--null值注入-->
<property name="panda">
<null></null>
</property> <!--list-->
<property name="books">
<list>
<value>JAVA</value>
<value>ENGLISH</value>
</list>
</property>
<!--set-->
<property name="hobbies">
<set>
<value>唱歌</value>
<value>玩游戏</value>
</set>
</property>
<!--map-->
<property name="works">
<map>
<entry>
<key><value>星期四</value></key>
<value>上班</value>
</entry>
<entry>
<key><value>星期五</value></key>
<value>放假</value>
</entry>
</map>
</property>
<!--proeperty-->
<property name="address">
<props>
<prop key="addres1">AAAAAAAAAA</prop>
<prop key="addres2">BBBBBBBBBB</prop>
</props>
</property>
</bean>
package party.infoo.entity; import java.util.*; /**
* Created by infoo on 2017/2/18.
*/
public class People {
private String name;
private Dog dog;
private Cat cat=new Cat();
private Tiger tiger;
private Panda panda;
private List<String> books=new ArrayList<String>();
private Set<String> hobbies=new HashSet<String>();
private Map<String,String> works=new HashMap<String,String>();
private Properties address=new Properties(); public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Dog getDog() {
return dog;
} public void setDog(Dog dog) {
this.dog = dog;
} public Cat getCat() {
return cat;
} public void setCat(Cat cat) {
this.cat = cat;
} public Tiger getTiger() {
return tiger;
} public void setTiger(Tiger tiger) {
this.tiger = tiger;
} public Panda getPanda() {
return panda;
} public void setPanda(Panda panda) {
this.panda = panda;
} public List<String> getBooks() {
return books;
} public void setBooks(List<String> books) {
this.books = books;
} public Set<String> getHobbies() {
return hobbies;
} public void setHobbies(Set<String> hobbies) {
this.hobbies = hobbies;
} public Map<String, String> getWorks() {
return works;
} public void setWorks(Map<String, String> works) {
this.works = works;
} public Properties getAddress() {
return address;
} public void setAddress(Properties address) {
this.address = address;
} @Override
public String toString() {
return "People{" +
"name='" + name + '\'' +
", dog=" + dog +
", cat=" + cat +
", tiger=" + tiger +
", panda=" + panda +
", books=" + books +
", hobbies=" + hobbies +
", works=" + works +
", address=" + address +
'}';
}
}
package party.infoo.entity; /**
* Created by infoo on 2017/2/18.
*/
public class Tiger {
private String name;
private int age; 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;
} @Override
public String toString() {
return "Tiger{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package party.infoo.entity; /**
* Created by infoo on 2017/2/18.
*/
public class Panda {
private String name;
private int age; 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;
} @Override
public String toString() {
return "Panda{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package party.infoo.entity; /**
* Created by infoo on 2017/2/18.
*/
public class Dog {
private String name;
private int age; 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;
} @Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
package party.infoo.entity; /**
* Created by infoo on 2017/2/18.
*/
public class Cat {
private String name;
private int age; 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;
} @Override
public String toString() {
return "Cat{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Spring 参数注入的更多相关文章
- spring mvc 复杂参数注入
过了这么久,又重新把博客拾起来了 来上海工作也已经有将近两周的时间了, 今天在整理项目的时候,遇到了一个关于参数注入的问题 背景: 我的开发前台用的是extjs4,在对后台spring mvc提交表单 ...
- spring 多线程 注入 服务层 问题
在用多线程的时候,里面要用到Spring注入服务层,或者是逻辑层的时候,一般是注入不进去的.具体原因应该是线程启动时没有用到Spring实例不池.所以注入的变量值都为null. 详细:http://h ...
- Spring 依赖注入方式详解
平常的Java开发中,程序员在某个类中需要依赖其它类的方法. 通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理. Spring提出了依赖注入的思想,即依赖类不由 ...
- Spring的注入问题
作下笔记,Spring的注入问题[多个实例问题] 解决方案如下: package student.life.support.platform.service.impl; import javax.an ...
- Spring依赖注入(IOC)那些事
小菜使用Spring有几个月了,但是对于它的内部原理,却是一头雾水,这次借着工作中遇到的一个小问题,来总结一下Spring. Spring依赖注入的思想,就是把对象交由Spring容器管理,使用者只需 ...
- Spring依赖注入三种方式详解
在讲解Spring依赖注入之前的准备工作: 下载包含Spring的工具jar包的压缩包 解压缩下载下来的Spring压缩包文件 解压缩之后我们会看到libs文件夹下有许多jar包,而我们只需要其中的c ...
- Spring依赖注入 --- 简单使用说明
Spring依赖注入 --- 简单使用说明 本文将对spring依赖注入的使用做简单的说明,enjoy your time! 1.使用Spring提供的依赖注入 对spring依赖注入的实现方法感兴趣 ...
- Java Web系列:Spring依赖注入基础
一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是 ...
- 为什么多线程、junit 中无法使用spring 依赖注入?
为什么多线程.junit 中无法使用spring 依赖注入? 这个问题,其实体现了,我们对spring已依赖太深,以至于不想自己写实例了. 那么到底是为什么在多线程和junit单元测试中不能使用依赖注 ...
随机推荐
- 2.Unity3d常用按键
Unity3d常用按键和组合键: 1.鼠标左键:选中物体 2.鼠标中键:平移视角,和手型功能一样 3.鼠标右键:旋转观察角度 4.Alt+鼠标左键:旋转观察角度 5.Alt+鼠标右键:拉远拉近
- PE文件格式详解(四)
0x00 前言 上一篇介绍了区块表的信息,以及如何在hexwrokshop找到区块表.接下来,我们继续深入了解区块,并且学会文件偏移和虚拟地址转换的知识. 0x01 区块对齐值 首先我们要知道啥事区块 ...
- ATM + 购物车项目
''' 存放配置文件 ''' import os #获取项目根目录 BASE_PATH=os.path.dirname(os.path.dirname(__file__)) #获取用户目录 USER_ ...
- AHP(使用于某项目设备重要度评估测试)
用层次法和蒙特卡洛模型计算权重系数,然后建立判断矩阵进行随机一致性检验,最后求出重要度指数. string calculateStr = "1,2,3,2,1,|1,2,3,2,1,|1,2 ...
- WPF之Converter
1.Converter介绍 在WPF应用程序中经常遇到类似这样的问题,在定义的类中用的bool类型的值,但是界面上某个控件的显示属性是Visibility的枚举类型的,解决这个问题可以简单在定义的类中 ...
- md5加密密码
using System.Security.Cryptography; public string GetStrMd5(string ConvertString) { MD5CryptoService ...
- 如何写一个自己的HashMap
想必很多Java工程师出去面试的时候都会被问到HashMap的底层实现原理,很多人觉得没什么必要,反正我会用就行,就我的感觉而言,在初期确实没什么必要,但是站在公司角度想,如果面试者连底层实现都搞定了 ...
- It is indirectly referenced from required .class files错误查找的解决办法如下
It is indirectly referenced from required .class files 原因:是JDK引入有问题导致的 解决方案:我之前是错误的引入成了JRE 坑哇!!!,改成如 ...
- 在运行vue项目时,执行npm install报错小记
在运行vue项目时,执行npm install 报错,导致后续的执行报各种错误,根据报错,尝试了网上的各种办法,最后发现时网络问题下载失败导致,解决办法: 安装cnpm==>npm instal ...
- C++ 简单介绍线段树
题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上k. 求出某区间每一个数的和. 输入格式 第一行包含两个整数n,m分别表示该数列数字的个数和操作的总个数. 第二行包含n个用 ...