Spring学习(一)加强 DI依赖注入的小案例
来源:互联网 发布:手机自动数据连接 编辑:程序博客网 时间:2024/06/04 19:10
依赖注入,就是一个类依靠另一个类实现,
举个例子,比如说,创建一个A类。在创建一个B类,当然创建过程,Spring已经帮我们完成了,这时候在A类中建一个B类的私有成员变量set出来,在xml文件中 配置属性标签,在另外的测试类C中通过bean的工厂就能获取到B类中的方法,但是这里注意了,在测试C类中,并没有通过xml文件获取B类的实例。这就是依赖注入,有点绕口,就是B依赖A注入到C的调用中。(可能解释的不是很精准)
接下来,我们把代码贴出来,供大家参考:
B类也就是我要创建的Student类:
package com.fly.spring;public class Student { private String sex; public void getSex() { System.out.println("******hello word*******" + sex); } public void setSex(String sex) { this.sex = sex; }}
A类,我创建的Person类:
package com.fly.spring;public class Person { private String name; public void getName() { student.getSex(); System.out.println("hello" + name); } public void setName(String name) { this.name = name; }// *******Student依赖Person注入的写法****************************************************************** private Student student; public void setStudent(Student student) { this.student = student; }}
再来看看配置文件:
<?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"> <!-- 模拟spring执行过程 创建Person实例:Person person = new Person() IoC <bean> 创建dao实例:Student student = new Student() IoC 将dao设置给person:person.setStudent(student); DI <property> <property> 用于进行属性注入 name: bean的属性名,通过setter方法获得 setStudent ##> Student ##> student ref :另一个bean的id值的引用 --> <!-- 创建Person实例 --> <bean id="person" class="com.fly.spring.Person"> <property name="student" ref="studentID"></property> </bean> <!-- 创建Student实例 --> <bean id="studentID" class="com.fly.spring.Student"></bean> </beans>
接下来就是测试C类了:
package com.fly.spring;import org.junit.Test;import org.springframework.beans.factory.BeanFactory;import org.springframework.beans.factory.xml.XmlBeanFactory;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.core.io.ClassPathResource;/** * 演示Spring的依赖注入 * @author Administrator * */public class DiSpring { @Test // IOC public void demo(){ String xmlPath = "com/fly/spring/applicationContext.xml"; ApplicationContext context = new ClassPathXmlApplicationContext(xmlPath); Person person = (Person) context.getBean("person"); person.getName(); } @Test // DI public void demoDi(){ String xmlPath = "com/fly/spring/applicationContext.xml"; BeanFactory factory = new XmlBeanFactory(new ClassPathResource(xmlPath)); Person bean = (Person) factory.getBean("person"); bean.getName(); }}
这片就简单讲解到这里。
0 0
- Spring学习(一)加强 DI依赖注入的小案例
- Spring学习(一)---依赖注入(DI)1
- spring学习系列(一) 依赖注入(DI)
- spring框架的学习-DI依赖注入
- Spring的依赖注入(即DI)
- spring 的依赖注入(DI)
- Spring(三)入门案例DI(依赖注入)
- Spring的依赖注入DI
- spring的依赖注入DI
- Spring学习之旅(一) 依赖注入(DI)与Spring Bean的装配
- spring依赖注入(DI)
- Spring 依赖注入(DI)
- spring-DI(依赖注入)
- Spring依赖注入(DI)
- Spring依赖注入(DI)
- Spring依赖注入(DI)
- Spring 依赖注入(DI)
- Spring依赖注入(DI)
- 二维数组查找数
- 解决pip 安装失败
- python day8(20170301 )
- HBase错误集
- 《spring-boot学习》-06-thymeleaf详解
- Spring学习(一)加强 DI依赖注入的小案例
- HDU 6015 Skip the Class
- Linux内核介绍
- JDBC简单例子
- leetcode:2. Add Two Numbers
- Oracle存储过程-增删改查与调用
- 【MySQL】 MySQL学习之 --- C语言API总览
- socket记录
- 串口 IAP