我有代码@Inject在一个类中工作但在其他类中没有.这是我的代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
">
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"></bean>
<context:component-scan base-package="com.myfashions.services"/>
<context:component-scan base-package="com.myfashions.dao"/>
</beans>
Run Code Online (Sandbox Code Playgroud)
public class SellerRetriever {
@Inject
UserDAO userDAO;
...
...
}
Run Code Online (Sandbox Code Playgroud)
UserDAO类存在于com.myfashions.dao包中.
@Inject在Seller.java中不起作用.有什么理由吗?
确保为组件扫描注释了两者SellerRetriever和实现UserDAO.这将确保后者注入前者:
@Service
public class SellerRetriever {
@Inject
UserDAO userDAO;
...
}
Run Code Online (Sandbox Code Playgroud)
使用注释UserDAO实现@Component.
扫描多条路径时使用:
<context:component-scan base-package="com.myfashions.services, com.myfashions.dao"/>
Run Code Online (Sandbox Code Playgroud)
我发现我的错误,我发布这个是因为以防万一有人遇到同样的问题。我使用 new 运算符创建 SellerRetriver 对象。如果使用 new 运算符来调用该特定类,则注入将不起作用。
| 归档时间: |
|
| 查看次数: |
8435 次 |
| 最近记录: |