簡體   English   中英

從主類訪問時,服務變量為null

[英]service variable is null when accessing from main class

我有一個名為App.java的swing類,在其中有以下內容:

private EmployeeService employeeService;

public void setEmployeeService(EmployeeService employeeService) {
    this.employeeService = employeeService;
}

在我的applicationContext.xml中,我有以下內容:

<bean id="employeeDao" class="com.myapp.dao.EmployeeDaoImpl">
    <property name="dataSource" ref="dataSource" />
</bean>

<bean id="employeeService" class="com.myapp.service.EmployeeServiceImpl">
    <property name="employeeDao" ref="employeeDao" />
</bean>

<bean id="app" class="com.myapp.swing.App">
    <property name="employeeService" ref="employeeService" />
</bean>

當我運行App.java時,我收到employeeService為null的錯誤。 為什么會這樣? 如果我直接從類中分配employeeService bean:

ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("/spring/applicationContext.xml");
EmployeeService employeeService = (EmployeeService) context.getBean("employeeService");
employeeService.validateEmployeeNo(1234);
context.close();

...

我能夠成功運行它。 當我從applicationContext.xml注入時,不是在App.java中彈簧連接employeeService嗎?

除非您的App類是由Spring容器創建的,否則您嘗試訪問的任何服務都將為null。 您如何初始化您的App類?

App myApp = new App();

要么

App myApp = (App) context.getBean("app");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM