博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 自动依赖注入优化(autowire-candidate)
阅读量:4049 次
发布时间:2019-05-25

本文共 1433 字,大约阅读时间需要 4 分钟。

– Start


自动依赖注入大大简化了我们的工作量,但是也有缺陷,如果一个接口有多个实现类,我们该注入哪一个呢?一种方法是设置其中一个bean不参与自动注入。

package shangbo.spring.example38;public interface MessageService {	String getMessage();}
package shangbo.spring.example38;public class MessageServiceDBImpl implements MessageService {	public String getMessage() {		return "This message from database";	}}
package shangbo.spring.example38;public class MessageServiceFileImpl implements MessageService {	public String getMessage() {		return "This message from file";	}}
package shangbo.spring.example38;public class MessagePrinter {    private MessageService service;    public void setService(MessageService service) {		this.service = service;	}	public void printMessage() {        System.out.println(service.getMessage());    }}
package shangbo.spring.example38;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {	public static void main(String[] args) {		// 实例化 Spring IoC 容器		ApplicationContext context = new ClassPathXmlApplicationContext("example.xml", MessagePrinter.class);				// 从容器中获得 MessagePrinter 的实例		MessagePrinter printer = context.getBean(MessagePrinter.class);				// 使用对象		printer.printMessage();	}}

我们也可以设定全局设定哪些对象不参数自动注入。

– 声 明:转载请注明出处
– Last Updated on 2017-05-25
– Written by ShangBo on 2017-05-25
– End

你可能感兴趣的文章
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
一文看清HBase的使用场景
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
慢慢欣赏linux make uImage流程
查看>>
linux内核学习(7)脱胎换骨解压缩的内核
查看>>
以太网基础知识
查看>>
慢慢欣赏linux 内核模块引用
查看>>
kprobe学习
查看>>
慢慢欣赏linux phy驱动初始化2
查看>>
慢慢欣赏linux CPU占用率学习
查看>>
2020年终总结
查看>>
Homebrew指令集
查看>>
React Native(一):搭建开发环境、出Hello World
查看>>
React Native(二):属性、状态
查看>>