JavaSpring项目中的服务层对象能否从Application-Context.xml调用bean?
JavaSpring项目中的服务层对象能否从Application-Context.xml调用beanJavaSpring项目中的服务层对象能否从Application-Context.xml调用bean?,java,spring,spring-mvc,Java,Spring,Spring Mvc,JavaSpring项目中的服务层对象能否从Application-Context.xml调用bean public class MemberInquiryServiceImpl implements MemberInquiryService { private String BASE_URI; private String user; private String password; HttpResponse response; public Me
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();
}
JavaSpring项目中的服务层对象可以在bean中调用吗
从Application-Context.xml
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();
}
是的,但在代码中您正在创建一个新的ApplicationContext:
public MemberInquiryServiceImpl() {
ApplicationContext ctx = new ClassPathXmlApplicationContext();
我怀疑你到底想做什么(我假设你的MemberInquiryServiceImpl
是由Spring创建的)
相反,例如,您可以将RequestTrackerConfig
自动连接(使用注释或xml配置)到memberinquiryserviceinpl
,或者制作memberinquiryserviceinpl
实现-接口,并使用注入的应用程序上下文获取“RequestTrackerConfig”-bean
JavaSpring项目中的服务层对象可以在bean中调用吗
从Application-Context.xml
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();
}
是的,但在代码中您正在创建一个新的ApplicationContext:
public MemberInquiryServiceImpl() {
ApplicationContext ctx = new ClassPathXmlApplicationContext();
我怀疑你到底想做什么(我假设你的MemberInquiryServiceImpl
是由Spring创建的)
例如,您可以将
RequestTrackerConfig
自动连接到memberinquiryserviceinpl
,或者使memberinquiryserviceinpl
实现-接口,并使用注入的应用程序上下文获取“RequestTrackerConfig”-bean。为什么不使用依赖注入来注入它?为什么不使用依赖注入来注入它?当然可以。你是在问如何编写代码来做到这一点,还是说这是一种“架构上合理的”实践,或者…?是的,当然。您是在问如何编写代码来实现这一点,还是这是一种“架构上合理的”实践,或者……?听起来您对Springs的依赖注入/控制反转原则并不完全有信心,也许可以通读文档的第3章:。网络上也有大量关于使用ApplicationContextAware、autowiring等的教程和示例,例如:听起来你对Springs的依赖注入/控制反转原理没有完全的信心,也许可以通读文档的第3章:。网上还有大量关于使用ApplicationContextAware、autowiring等的教程和示例,例如: