Spring依賴注入簡單實現

代碼已上傳,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注意位置

在這裏插入圖片描述

<?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. 輸出結果
    在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章