spring的DI
2016-04-26 08:38
387 查看
spring的DI:依赖注入――给属性赋值
说明:一个类中的属性都可以采用springDI的方式进行赋值,但是并不是所有的属性都适合赋值,固定的配置文件地址,存放到spring中。
springDI的说明:
1、如果spring的配置文件中的bean中没有<constructor-arg>该元素,则调用默认的构造函数
2、如果spring的配置文件中的bean中有<constructor-arg>该元素,则该元素确定唯一的构造函数
index 代表参数的位置 从0开始计算
type 指的是参数的类型
value 给基本类型赋值
ref 给引用类型赋值
Person.java
public class Person { public Person(){System.out.println("person");} private Long pid; private String pname; private Student student; private Set sets; private List lists; private Map map; private Properties properties; set,get方法。。。。。。。。。。。。。 public String toString() { return "Person [pid=" + pid + ", pname=" + pname + ", student=" + student + ", sets=" + sets + ", lists=" + lists + ", map=" + map + ", properties=" + properties + "]"; } }
Person_Con.java
public class Person_Con { private Long pid; private String pname; private Student student; public Person_Con(String pname,Student student){ this.pname = pname; this.student = student; } public Person_Con(Long pid,String pname,Student student){ this.pid = pid; this.pname = pname; this.student = student; } public Person_Con(){System.out.println("person_Con");} set,get方法。。。。。。。。。。。。。。 }
applicationContext-di.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-2.5.xsd"> <bean id="person_con" class="cn.itcast.spring.di.Person_Con"> <constructor-arg index="0" type="java.lang.String" value="pengya"></constructor-arg> <constructor-arg index="1" type="cn.itcast.spring.di.Student" ref="student"></constructor-arg> </bean> <bean id="person" class="cn.itcast.spring.di.Person" > <property name="pid" value="2"></property> <property name="pname" value="peng"></property> <property name="student" ><ref bean="student"/></property> <property name="lists"> <list> <value>l1</value> <value>l2</value> <ref bean="student"/> </list> </property> <property name="sets"> <set> <value>s1</value> <value>s2</value> <ref bean="student"/> </set> </property> <property name="map"> <map> <entry key="m1"> <value>map1</value> </entry> <entry key="m2"> <ref bean="student"/> </entry> </map> </property> <property name="properties"> <props> <prop key="p1">prop1</prop> <prop key="p2">prop2</prop> </props> </property> </bean> <bean id="student" class="cn.itcast.spring.di.Student" ></bean> </beans>
相关文章推荐
- java中volatile关键字的含义
- 第一个java代码:华工校赛D:Lets Play Another Game
- Java关于RSA,DES加密解密的图形界面
- Java中的范型类型强制转化注意2
- Java中的范型类型强制转化注意
- java jdk7 并行计算框架 fork/join
- Java简介
- package和import
- 闲谈
- Spring Data Jpa 查询返回自定义对象
- 多态、抽象类、接口、区别(java基础知识九)
- 我对java的理解(一)——注解就是贴标签
- Java---IO加强(2)
- Java---IO加强(2)
- 重新学javaweb---cookie&&session
- springmvc图片上传遇到的问题(除了图片还要传文字)乱码参数取不到
- 20145333《Java程序设计》第3次实验报告
- 停止Java线程,小心interrupt()方法
- 在java web项目中集成webservice
- 了解 Spring Data JPA