我已经定义了这个bean:
@org.springframework.stereotype.Service(value = "deviceService")
public class DeviceServiceImpl implements DeviceService {
...
}
和此配置文件
<?xml version='1.0' encoding='utf-8'?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean name="/hello" class="com.tdk.DeviceController"></bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</beans>
有没有办法在不扫描的情况下从控制器获取 deviceService bean?
答案 0 :(得分:0)
没有组件扫描deviceService将永远不会在应用程序上下文中加载,并且您无法注入一个甚至不存在的bean。
您已经有一个dispatcher-servlet.xml,因此您可以使用基于xml的方法来定义deviceService bean。
<bean name="deviceService" class="com.*.DeviceServiceImpl"></bean>
然后为您的控制器使用属性注入
<bean name="/hello" class="com.tdk.DeviceController">
<property name="deviceService" ref="deviceService" />
</bean>
希望,这会有所帮助。