Spring依赖注入简单实现
程序员文章站
2022-06-01 13:02:44
...
代码已上传,GitHub地址
目标:已知InitSpring1和InitSpring2两个类,spring1中有spring2的引用,用spring框架实现spring2的注入。
- 创建InitSpring1
public class InitSpring1 {
private InitSpring2 initSpring2;
// a setter method to inject the dependency.
public void setInitSpring2(InitSpring2 initSpring2) {
System.out.println("init Spring1."+"\n");
this.initSpring2 = initSpring2;
}
// a getter method to return spellChecker
public InitSpring2 getInitSpring2() {
return initSpring2;
}
public void logOut() {
initSpring2.logOut();
}
}
- 创建InitSpring2
public class InitSpring2 {
public InitSpring2(){
System.out.println("init Spring2."+"\n");
}
public void logOut() {
System.out.println("log out Spring2."+"\n");
}
}
- 创建testSpring.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-3.0.xsd">
<bean id="spring1" class="yang.shuai.ysservice.entity.InitSpring1">
<property name="initSpring2" ref="spring2"/>
</bean>
<bean id="spring2" class="yang.shuai.ysservice.entity.InitSpring2">
</bean>
</beans>
- 创建SpringController
注意xml文件的引用路径
@RestController//controller标识
@RequestMapping("/spring")//请求路径
public class SpringController {
@GetMapping("/getSpring")//请求路径
public void getSpring(){
//放在src目录下
ApplicationContext context =
new FileSystemXmlApplicationContext("classpath:inject/testSpring.xml");
InitSpring1 te = (InitSpring1) context.getBean("spring1");
te.logOut();
}
}
- 输出结果
上一篇: 注解框架Butterknife解析
下一篇: 数羊数睡了