MemberInquiryServiceImpl

MemberInquiryServiceImpl

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。

08-26 09:10