Hibernate Spring MVC+中的sessionfactory为空;冬眠

Hibernate Spring MVC+中的sessionfactory为空;冬眠,hibernate,spring-mvc,Hibernate,Spring Mvc,我已经在servlet xml中配置了sessionfactory,并通过SETTER注入将其注入到bean中。我在bean的setter方法中放了一个日志。服务器启动后,我将获取日志。它似乎正在将属性注入到我的bean中。但是当我调用这个方法时,它是空的。附上我的密码 <** Bean configuration Starts **> <bean id="userServiceImpl" class="com.springapp.oranju.Service.UserServ

我已经在servlet xml中配置了sessionfactory,并通过SETTER注入将其注入到bean中。我在bean的setter方法中放了一个日志。服务器启动后,我将获取日志。它似乎正在将属性注入到我的bean中。但是当我调用这个方法时,它是空的。附上我的密码

<** Bean configuration Starts **>
<bean id="userServiceImpl" class="com.springapp.oranju.Service.UserServiceImpl">
<property name="sessionFactory" ref="sessionFactory"/>  
</bean>
<bean id="sessionFactory"
class="
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation">
<value>/WEB-INF/config/hibernate.cfg.xml</value>
</property>            
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${dialect}</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<** Bean configuration ends **>
<** Bean Class starts**>
public class UserServiceImpl implements UserService{
private SessionFactory sessionFactory;   
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
try {
System.out.println(" **********************************************************************************"+this.sessionFactory.getReference());
} catch (NamingException e) {   
e.printStackTrace();
}
}
public void validateLogin(UserVO userVO) {      
System.out.println(sessionFactory);
sessionFactory.getCurrentSession().save(new User(new UserVO()));
}
}
<** Bean Class ends**>
<** call from controller starts **>
UserServiceImpl userService = new UserServiceImpl();
userService.validateLogin(new UserVO());
<** call from controller ends **>
I have tried using the @ Autowired.. but it was helpless.
Awaiting for a answer !.........

/WEB-INF/config/hibernate.cfg.xml
${方言}
真的
公共类UserServiceImpl实现UserService{
私人会话工厂会话工厂;
public void setSessionFactory(SessionFactory SessionFactory){
this.sessionFactory=sessionFactory;
试一试{
System.out.println(“****************************************************************************************************************************************************************************************”+此.sessionFactory.getReference());
}捕获(NamingE){
e、 printStackTrace();
}
}
公共void validateLogin(UserVO UserVO){
系统输出打印LN(会话工厂);
sessionFactory.getCurrentSession().save(新用户(newuservo()));
}
}
userserviceinpl userService=新的userserviceinpl();
validateLogin(新的UserVO());
我试过使用@Autowired。。但它无能为力。
等待答案!。。。。。。。。。

您必须在控制器中自动连接UserServiceImpl。如果您通过新建UserServiceImpl()手动实例化它,spring IoC容器不知道UserServiceImpl依赖于sessionFactory

在应用程序上下文xml中包含以下元素:

<context:component-scan base-package="org.example"/>
@Controller public class ExampleController {

    @Autowired private UserServiceImpl userService;

}