Java Spring项目中的服务层对象可以从Application-Context.xml中调用Bean吗?
public class MemberInquiryServiceImpl implements MemberInquiryService {
private String BASE_URI;
private String user;
private String password;
HttpResponse response;
public MemberInquiryServiceImpl() {
ApplicationContext ctx = new ClassPathXmlApplicationContext();
RequestTrackerConfig rtc = (RequestTrackerConfig) ctx
.getBean("requestTrackerConfig");
BASE_URI = rtc.getUrl();
user = rtc.getUser();
password = rtc.getPassword();
}
最佳答案
Java Spring项目中的服务层对象可以在Bean中调用吗
从Application-Context.xml?
是的,但是在您的代码中您正在创建一个新的ApplicationContext:
public MemberInquiryServiceImpl() {
ApplicationContext ctx = new ClassPathXmlApplicationContext();
我怀疑这是您实际上要执行的操作(我假设您的
MemberInquiryServiceImpl
是由Spring创建的)。相反,您可以例如将
RequestTrackerConfig
自动连接(使用注释或xml-config)到MemberInquiryServiceImpl
,或使MemberInquiryServiceImpl
实现ApplicationContextAware -interface,并使用注入的ApplicationContext获得“ requestTrackerConfig” -bean。