spring依赖注入方法实例
来源:互联网 发布:java实用教程第三版pdf 编辑:程序博客网 时间:2024/06/08 03:49
依赖注入方式总结
一、 依赖注入的意义:让组件依赖于抽象,当组件要与其他实际对象发生依赖关系时,通过抽象来注入依赖的实际对象。
二、 依赖注入的方式:
1、 例:person类:
private Stringname;
private Stringsex;
private Integerage;
private Datebirthday;
public PersonServiceBean() {
super();
System.out.println("构造器初始化对象");
//TODO Auto-generated constructor stub
}
public PersonServiceBean(String name, String sex, Integer age, Date birthday) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.birthday = birthday;
}
publicvoid setName(String name) {
this.name = name;
}
publicvoid setSex(String sex) {
this.sex = sex;
}
publicvoid setAge(Integer age) {
this.age = age;
}
publicvoid setBirthday(Date birthday) {
this.birthday = birthday;
}
@Override
public String toString() {
return"PersonServiceBean [name=" +name + ", sex=" + sex +", age="
+ age + ", birthday=" +birthday + "]";
}
Bean.xml:(主体)
<beanid="personServiceBean"class="cn.csdn.service.PersonServiceBean">
<!-- 依赖注入方式 -->
<!-- 欧诺个过方式1 set注入 -->
<property name="name">
<value>zhangsan</value>
</property>
<property name="sex">
<value>男</value>
</property>
<property name="age">
<value>28</value>
</property>
<!-- 出生日期 -->
<property name="birthday"ref="date">
<!-- 写一个内部bean
<bean class="java.util.date"/>-->
</property>
</bean>
<beanid="date"class="java.util.Date">
<property name="year">
<value>1988</value>
</property>
<property name="month">
<value>11</value>
</property>
<property name="date">
<value>22</value>
</property>
</bean>
测试类:
Public void test(){
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:bean.xml");
PersonServiceBeanpersonServiceBean =(PpersonServiceBean) context.getBean("personServiceBean ");
System.out.println(personServiceBean.toString);
}
2、 构造器注入:(1)bean1.xml
<beanid="personServiceBean1"class="cn.csdn.service.PersonServiceBean">
<!-- 构造器注入 -->
<constructor-arg index="0">
<value>zhangsan</value>
</constructor-arg>
<constructor-arg index="1">
<value>男</value>
</constructor-arg>
<constructor-arg index="2">
<value>28</value>
</constructor-arg>
<constructor-argindex="3">
<bean class="java.util.Date"/>
</constructor-arg>
</bean>
测试:
Public void test(){
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:bean1.xml");
PersonServiceBeanpersonServiceBean=(PersonServiceBean) context.getBean("personServiceBean1");
System.out.println(personServiceBean.toString);
}
(2)、bean1.xml
<beanid="personServiceBean"class="cn.csdn.service.PersonServiceBean">
<!-- 构造器注入 -->
<constructor-arg type="java.lang.String"value="sss"/>
<constructor-arg type="java.lang.String"value="男"/>
<constructor-arg type="java.lang.Integer"value="90"/>
<constructor-argtype="java.util.Date">
<ref bean="date"/>
</constructor-arg>
</bean>
<beanid="date"class="java.util.Date"/>
测试:
Public void test(){
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:bean1.xml");
PersonServiceBeanpersonServiceBean =(PersonServiceBean) context.getBean("personServiceBean");
System.out.println(personServiceBean.toString);
}
3.teacherServiceBean
publicclass TeacherServiceBean {
private List<String>list;
private Set<String>set;
private Map<String,String>map;
public List<String> getList() {
returnlist;
}
publicvoid setList(List<String> list) {
this.list = list;
}
public Set<String> getSet() {
returnset;
}
publicvoid setSet(Set<String> set) {
this.set = set;
}
public Map<String, String> getMap() {
returnmap;
}
publicvoid setMap(Map<String, String> map) {
this.map = map;
}
public TeacherServiceBean() {
super();
//TODO Auto-generated constructor stub
}
public TeacherServiceBean(List<String> list, Set<String> set,
Map<String, String> map) {
super();
this.list = list;
this.set = set;
this.map = map;
}
@Override
public String toString() {
return"TeacherServiceBean [list=" +list + ", set=" + set +", map=" + map
+ "]";
}
}
Bean2.xml
<beanid="teacherServiceBean"class="cn.csdn.service.TeacherServiceBean">
<property name="list">
<list><value>HP电脑</value>
<value>dell电脑</value>
<value>联想电脑</value></list>
</property>
<property name="set">
<set>
<value>java编程</value>
<value>net编程</value>
</set>
</property>
<property name="map">
<map>
<entry>
<key>
<value>001</value>
</key>
<value>java编程</value>
</entry>
<entry>
<key>
<value>002</value>
</key>
<value>net编程</value>
</entry>
</map>
</property>
</bean>
测试类:
publicvoid test() {
ApplicationContext context=new ClassPathXmlApplicationContext("classpath:bean2.xml");
TeacherServiceBean teacherService=(TeacherServiceBean) context.getBean("teacherServiceBean");
System.out.println("------------------list----集合");
List<String> list = teacherService.getList();
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
System.out.println("------------------set----集合");
Set<String> set = teacherService.getSet();
for(String str:set){
System.out.println(str);
}
System.out.println("------------------map----集合");
Map<String,String> map = teacherService.getMap();
Set<Entry<String,String>> mset=map.entrySet();
for(Entry entry:mset){
System.out.println(entry.getKey()+"1111111"+entry.getValue());
}
}
- spring依赖注入方法实例
- Spring依赖注入的方法
- spring中的依赖注入方法
- Spring的IOC依赖注入实例
- Spring依赖注入/控制反转原理实例
- Spring DI(依赖注入)-之SETTER方法
- spring setter方法依赖注入(DI)原理
- Spring通过构造方法依赖注入
- Spring中三种依赖注入的方法
- 开发框架-Spring-静态方法依赖注入
- spring基于setter方法的依赖注入
- spring基于构造方法的依赖注入
- Spring DI 依赖注入案例(带参数构造方法依赖注入、setter方法依赖注入、p名称空间注入)
- Spring学习04--注入、依赖、方法注入详解
- java中spring框架的依赖注入的简单实例
- Spring(四) 依赖注入简介和实例分析
- [转]Spring依赖注入和实例化(new)的差别
- Spring的四种依赖注入方式实例
- WP7录音-IsolatedStorage保存wav文件-IsolatedStorage上传wav录音文件(完整版)
- Spring/Hibernate/Proxool集成
- 常用正则表达式
- Chrome源码编译
- Qualification Round Africa 2010 Problem A. Store Credit
- spring依赖注入方法实例
- 松本行弘的程序世界(二)
- 判断一个数是否为素数
- spring自动装配总结
- myeclipse9.1破解方法
- 自己写的Sobel边缘检测程序
- 在WinForm/C#中打开一个文件,主要是用到进程的知识。
- .net升级到4.0之后,出现;System.Windows, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798
- 关于使用UILocalizedIndexedCollation 实现tableview的边索引