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

 

 

相关文章
相关标签/搜索