Spring的依赖注入不仅可以注入基本类型,也可以注入包括model,list等等类型

package com.hongcong.test;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.hongcong.model.People;

public class test {
public static void main(String[] args) {
ClassPathXmlApplicationContext ca = new ClassPathXmlApplicationContext("beans.xml");
//Bean注入
People people1 = (People)ca.getBean("people1");
System.out.println(people1);
//内部bean
People people2 = (People)ca.getBean("people2");
System.out.println(people2);
//null注入
People people3 = (People)ca.getBean("people3");
System.out.println(people3);
//集合注入
People people4 = (People)ca.getBean("people4");
System.out.println(people4); }
}

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dog" class="com.hongcong.model.Dog">
<property name="name" value="Jack"/>
</bean> <!--Bean注入 -->
<bean id="people1" class="com.hongcong.model.People">
<property name="id" value="1"/>
<property name="name" value="小一"/>
<property name="age" value="11"/>
<property name="dog" ref="dog"></property>
</bean> <!--内部bean -->
<bean id="people2" class="com.hongcong.model.People">
<property name="id" value="1"/>
<property name="name" value="小一"/>
<property name="age" value="11"/>
<property name="dog">
<bean class="com.hongcong.model.Dog" >
<property name="name" value="Tom"></property>
</bean>
</property>
</bean> <!--null注入 -->
<bean id="people3" class="com.hongcong.model.People">
<property name="id" value="1"/>
<property name="name" value="小一"/>
<property name="age" value="11"/>
<property name="dog" >
<null></null>
</property>
</bean> <!--list注入 -->
<bean id="people4" class="com.hongcong.model.People">
<property name="id" value="1"/>
<property name="name" value="小一"/>
<property name="age" value="11"/>
<property name="loves" >
<list>
<value>唱歌</value>
<value>听歌</value>
</list>
</property>
</bean>
</beans>

people

package com.hongcong.model;

import java.util.ArrayList;
import java.util.List; public class People {
private int id;
private String name;
private int age;
private Dog dog;
List<String> loves = new ArrayList<String>(); public People() {
super();
// TODO Auto-generated constructor stub
} public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
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 Dog getDog() {
return dog;
}
public void setDog(Dog dog) {
this.dog = dog;
}
public List<String> getLoves() {
return loves;
} public void setLoves(List<String> loves) {
this.loves = loves;
} @Override
public String toString() {
return "People [id=" + id + ", name=" + name + ", age=" + age
+ ", dog=" + dog + ", loves=" + loves + "]";
} }

dog

package com.hongcong.model;

public class Dog {
private String name; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} }

Sping4之注入参数的更多相关文章

  1. spring注入参数详解

    spring注入参数详解 在Spring配置文件中, 用户不但可以将String, int等字面值注入到Bean中, 还可以将集合, Map等类型的数据注入到Bean中, 此外还可以注入配置文件中定义 ...

  2. spring mvc 3.1的自动注入参数遇到的问题

    在网上下载了xheditor作为页面的编辑器,编辑内容后post到后台保存,后台方法用spring mvc的自动注入的方式接收参数. 这种方式在各个浏览器下运行良好,但是在ie11下发现,从word. ...

  3. Spring属性注入、构造方法注入、工厂注入以及注入参数(转)

    Spring 是一个开源框架. Spring 为简化企业级应用开发而生(对比EJB2.0来说). 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.Spring ...

  4. SpringMVC - 个人对@ModelAttribute的见解 和 一些注入参数、返回数据的见解

    2016-8-23修正. 因为对modelattribute这个注解不了解,所以在网上搜寻一些答案,感觉还是似懂非懂的,所以便自己测试,同时还结合网上别人的答案:最后得出我自己的见解和结果,不知道正确 ...

  5. Spring 依赖注入(二、注入参数)

    注入参数基本分7类: 1.基本类型值 2.注入bean 3.内部bean 4.注入null值 5.级联属性 6.List,Set,Map集合的注入 7.properties文件的注入(和集合注入基本是 ...

  6. HandlerMethodArgumentResolver完美解决 springmvc注入参数多传报错

    作为一个后端开发,能友好兼容前端参数传入错误等问题,在前端发布不小心多传一个参数导致系统错误的问题,一个广告系统是零容忍的,所以为了不犯错误,后端接收参数必须摒弃spring 的自动注入@Reques ...

  7. mybatis中collection子查询注入参数为null

    具体实现参照网上,但是可能遇到注入参数为null的情况,经过查阅及自己测试记录一下: 子查询的参数中,有<if test="">之类,需要指定别名,通过 http:// ...

  8. 关于Spring注入参数到static静态参数失败问题处理。解决Autowired annotation is not supported on static fields的问题

    直接贴代码 把注入参数的注解加到set方法上面去即可. 因为这是一个工具类用到的config,所以一开始没有加@Component,还是依然为空,加上之后就正常能注入了

  9. Struts2使用自定义拦截器导致Action注入参数丢失、url参数

    写struts2项目时发现前台超链接中的参数无法传到action, 所有带有传递参数的均无法正常使用了,在Action中所有的参数无法被注入. 后来经过debug发现其中的页面都要先经过拦截器,而后再 ...

随机推荐

  1. cpt212b--- 触摸芯片配置

    软件的应用: 1.可以依照你所需要的芯片类型建立适当的工程,下面是在没有j-link的情况时的一种操作方式 建立完工程后,cpt212b的配置参数页面如上,更改参数点击Save 按钮,软件自动生成 . ...

  2. 【转】计算机信息系统安全保护等级划分准则(GB 17859-1999)

    计算机信息系统安全保护等级划分准则(GB 17859-1999) 概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: ...

  3. ionic3使用echarts

    1.安装typings及echarts npm install typings echarts --global 2.安装 ECharts 的 TypeScript 定义文件 npm install ...

  4. IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8

    错误如下 检查下面几个地方设置是否一致... 1.Project Structure下(File->Project Structure...) Sources选项卡->Languate l ...

  5. CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证

    CentOS7用hostapd做radius服务器为WiFi提供802.1X企业认证 来源: https://www.cnblogs.com/osnosn/p/10593297.html 来自osno ...

  6. 工控随笔_06_西门子_Step7归档项目无法备份的解决方法

    在一次备份Step7项目时,突然发现无法进行备份而是报错,具体的报错内容如下所示: 图 step7 归档程序时报pkzipc.exe 应用程序错误  内存不能为"read" 一.s ...

  7. HTML 块级元素 行内元素

    块级元素 - block level element 总是在新行上开始: 高度,行高以及外边距和内边距都可控制: 宽度缺省是它的容器的100%,除非设定一个宽度: 它可以容纳内联元素和其他块元素 如: ...

  8. 【java8】使用lambda表达式对List去重

    先收集再排序. public static void main(String[] args) { BookBo bookBo1 = new BookBo("1", "语文 ...

  9. Selenium自动化Chrome浏览器 在windows下窗口最大化

    本人由于是搞自动化时间不长,所以踩了很多坑.准备把踩得这些坑记录下来. 自动化测试最基础的就是打开浏览器然后让Windows窗口最大化. 一开始百度了好多窗口最大化的方法,最常用的是: WebDriv ...

  10. Linux文件系统备份

    1.添加一块硬盘——创建分区   fdisk   /dev/sdb    n   创建新分区      p  打印分区      w 保存   ——分区格式化    mkfs.xfs  /dev/sd ...