欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring依赖注入简单实现

程序员文章站 2022-06-01 13:02:44
...

代码已上传,GitHub地址

目标:已知InitSpring1和InitSpring2两个类,spring1中有spring2的引用,用spring框架实现spring2的注入。

  1. 创建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();
    }
}
  1. 创建InitSpring2
public class InitSpring2 {
    public InitSpring2(){
        System.out.println("init Spring2."+"\n");
    }
    public void logOut() {
        System.out.println("log out Spring2."+"\n");
    }
}
  1. 创建testSpring.xml注意位置

Spring依赖注入简单实现

<?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>
  1. 创建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();
    }
}
  1. 输出结果
    Spring依赖注入简单实现