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单元测试中不能使用依赖注 ...
随机推荐
- Bash的特性
Bash的特性 1. tab补全 #命令补全 [root@clf ~]# user #命令补全useradd userdel usermod usernetctl user ...
- 代码注入——c++代码注入
代码注入之——c++代码注入 0x00 代码注入和DLL注入的区别 DLL注入后DLL会通过线程常驻在某个process中,而代码注入完成之后立即消失. 代码注入体积小,不占内存 0x01 通过c ...
- 动手实现一个简单的 rpc 框架到入门 grpc (上)
rpc 全称 Remote Procedure Call 远程过程调用,即调用远程方法.我们调用当前进程中的方法时很简单,但是想要调用不同进程,甚至不同主机.不同语言中的方法时就需要借助 rpc 来实 ...
- Python-break/continue
break:用于终止整个循环 continue:用于终止本次循环,而不终止整个循环的执行
- mysql解压缩版安装和卸载
所有的cmd命令都是在管理员模式下输入 官方下载网址:https://dev.mysql.com/downloads/mysql/ 安装mysql mysqld install //安装mysql:卸 ...
- Scala 面向对象(十一):特质(接口) 四
1 扩展类的特质 特质可以继承类,以用来拓展该类的一些功能 所有混入该特质的类,会自动成为那个特质所继承的超类的子类 如果混入该特质的类,已经继承了另一个类(A类),则要求A类是特质超类的子类,否则就 ...
- 双网卡bonding
网卡:计算机与外界局域网的连接是通过主机箱内插入一块网络接口板(或者是在笔记本电脑中插入一块PCMCIA卡).网络接口板又称为通信适配器或网络适配器(adapter)或网络接口卡NIC(Network ...
- leetcode_1-两数之和_javascript
题目 1.两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元 ...
- 图解java方法的简单执行步骤
图解java方法的简单执行步骤 1,找到该方法 2 传入对应的参数 3 执行方法体 4 返回结果
- Ethical Hacking - GAINING ACCESS(5)
Server Side Attack Install Metasploit cummunity/pro and active it. Create a new project for the targ ...