【发布时间】:2014-02-14 20:52:17
【问题描述】:
我想知道在性能方面这些情况之间有什么更好的地方:
@Component
public class A{
public void doSomethingOne(){
ServiceDelegateA serviceA = (ServiceDelegateA) ApplicationContextUtils.getBean("ServiceDelegateA");
serviceA.compute();
}
public void doSomethingTwo(){
ServiceDelegateB serviceB = (ServiceDelegateB) ApplicationContextUtils.getBean("ServiceDelegateB");
serviceB.doAction();
}
}
或者
@Component
public class A{
@Autowired
ServiceDelegateA serviceA;
@Autowired
ServiceDelegateB serviceB;
public void doSomethingOne(){
serviceA.compute();
}
public void doSomethingTwo(){
serviceB.doAction();
}
}
提前感谢您的帮助和建议。
【问题讨论】:
-
什么是
ApplicationContextUtils? -
我会说差异可以忽略不计,如果它真的很重要,那么你会测量它并打电话。您采用任何一种方法的决定应该由其他因素(风格、可维护性、供应商配合)驱动。过早的优化是万恶之源