我正在为一个RESTFul API的jax-rs项目工作
我选择使用spring来自动注入我的依赖项
import org.springframework.beans.factory.annotation.Autowired;
@Autowired
private UserManager userManager;
这是我的spring.xml
<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-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd">
<context:annotation-config/>
<!-- Manager -->
<bean id="userManager" class="com.mypackage.manager.UserManagerImpl"/>
<bean id="cardManager" class="com.mypackage.manager.CardManagerImpl"/>
<bean id="albumManager" class="com.mypackage.manager.AlbumManagerImpl"/>
<!-- Dao -->
<bean id="userDao" class="com.mypackage.dao.UserDaoImpl"/>
<bean id="cardDao" class="com.mypackage.dao.CardDaoImpl"/>
<!-- Session factory for hibernate -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="configLocation" value="file:web/WEB-INF/hibernate.cfg.xml"/>
</bean>
</beans>
但是我在这里得到了一个NullPointerException:
userManager.getUserById(1);
以下是该方法的代码:
public UserDto getUserById(Integer userId) throws NotFoundException {
/*User user = userDao.findById(userId);*/
User user = new User();
user.setUsername("creekorful");
user.setAvatarUrl("myavatar/avatar.image");
user.setEmail("creekorful@gmail.com");
user.setUserStatus(UserStatus.ACTIVATED);
user.setAccountType(AccountType.ADMINISTRATOR);
return new UserDto(user);
}
我是否需要让spring自动实例化并注入我的经理?因为无论我尝试使用什么解决方案,似乎我的userManager仍为null。我想我错过了春天的功能......
N.B:我已将spring.xml放入我的.war中的WEB-INF / class目录
提前感谢
答案 0 :(得分:0)
在spring.xml中,您还需要确保启用了这样的注释:
<context:annotation-config/>
希望有所帮助!