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单元测试中不能使用依赖注 ...
随机推荐
- [开源][示例更新]eCharts配置简化包OptionCreator[typescript版]
前言 eCharts作为国内优秀的开源图表工具,功能强大,但是使用中也存在一定的问题. 文档更新较慢,文档说明不详细. 前端使用的弱类型语言,数据结构在灵活的同时,也容易造成一些问题.例如某些属性到底 ...
- 什么是electron
Electron 是什么 定义 Electron是一个能让你使用传统前端技术(Nodejs, Javascript, HTML, CSS)开发一个跨平台桌面应用的框架.这里所说的桌面应用指的是在Win ...
- java学习第三天2020/7/8
一. 学习了数组的使用 一维数组的使用 (1)类型[ ] 名称 名称=new 类型[]{元素1,元素2......} (2)类型[] 名称={元素1,元素2......} (3)类型[] 名称=new ...
- DVWA学习记录 PartⅣ
File Inclusion 1. 题目 File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include ...
- XSS与CSRF定义
一. CSRF 1. CSRF的基本概念 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通 ...
- 数据可视化之powerBI入门(二)体验PowerBI:零基础分分钟生成一份交互报表
https://zhuanlan.zhihu.com/p/64144595 体验PowerBI:零基础分分钟生成一份交互报表 首先我们准备一份数据,Excel格式 数据是从2006年到2015年10年 ...
- tf.nn.conv2d函数和tf.nn.max_pool函数介绍
tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 介绍参数: input:指卷积需要输入的 ...
- unity第一人称如何设置
关系图 红色菱形:脚本 白色矩形:组件 移动代码 //移动代码 public CharacterController controller;//角色控制器 public float speed = 1 ...
- freeMarker随手笔记
freemarker官网:http://docs.freemarker.cn/ 注意: 1.如果标签没有嵌套内容(在开始标签和结束标签之间的内容),那么可以只使用开始标签 (详情:http://fre ...
- PowerShell创建参考窗口
背景 平常我们经常遇到这样一个问题,在使用一个窗口工作时常常需要参考其他窗口的文字或图片,此时就需要频繁切换窗口:或者是看视频时需要参考前面进度的画面:或者是阅读或写文档时需要参考其他位置的文字,这时 ...