spring依賴搜索

spring項目在啓動時,spring框架會根據名稱自動搜索實現類. 這在平常開發中仍是頗有用的。spring

下面舉兩個例子。app

 

1. 先寫一個接口(或者抽象類)框架

public interface IPersonService {
     void say();
}

 

2. 弄兩個實現類,並註冊到Ioc中ide

@Component
public class ManService implements IPersonService {
    @Override
    public void say() {
        System.out.println("我是男人。。。。");
    }
}
@Component
public class WomanService implements IPersonService {
    @Override
    public void say() {
        System.out.println("我是女人。。。。");
    }
}

 

3. 再寫一個測試的Controller測試

@RestController
public class PersonController {
    @Autowired
    private Map<String, IPersonService> personServices;

    @Autowired
    private List<IPersonService> list;

    @GetMapping("/getPersonServices")
    public Object getPersonServices(String key) {
        IPersonService manService = personServices.get(key);
        manService.say();
        return manService.getClass();
    }

    @GetMapping("/getList")
    public void getList() {
    list.forEach(System.out::println);
 } }

 

4. 啓動項目跑一把spa

 

 

 

 

 

getList請求後臺打印code

 

 

相關文章
相關標籤/搜索