现在做SSH整合的时候,在hibernate和spring整合过程中,用junit4测试,右键点击后run as->junit test,然后控制台无输出,求大家帮忙解决啊
下面是测试类的代码:
- Java code
package com.ssh.service.impl;import org.junit.BeforeClass;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.ssh.bean.User;import com.ssh.service.UserService;public class UserServiceImplTest { public static UserService service; @BeforeClass public void setUpBeforeClass(){ ApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml"); service = (UserServiceImpl)context.getBean("userServiceImpl"); } @Test public void testSave(){ User u = new User(); u.setName("zhangsan"); u.setPassword("123"); service.addUser(u); }}
userServiceImpl代码如下:
- Java code
package com.ssh.service.impl;import java.util.List;import javax.annotation.Resource;import org.hibernate.SessionFactory;import org.springframework.stereotype.Component;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Propagation;import org.springframework.transaction.annotation.Transactional;import com.ssh.bean.User;import com.ssh.service.UserService;@Service@Transactionalpublic class UserServiceImpl implements UserService { private SessionFactory sessionFactory; public SessionFactory getSessionFactory() { return sessionFactory; } @Resource public void setSessionFactory(SessionFactory sessionFactory) { this.sessionFactory = sessionFactory; } @Transactional(propagation=Propagation.SUPPORTS) public void addUser(User user) { getSessionFactory().getCurrentSession().persist(user); } public void delete(String name) { getSessionFactory().getCurrentSession() .createQuery("delete User u where u.name=:name") .setString("name", name) .executeUpdate(); } public User find(String name) { User user =(User)getSessionFactory().getCurrentSession().load(User.class,name); return user; } public List<User> list() { return getSessionFactory().getCurrentSession().createQuery("from User").list(); } public void update(User user) { getSessionFactory().getCurrentSession() .createQuery("update User u set u.name=:newName,u.password=:newPassword") .setString("newName", user.getName()) .setString("newPassword", user.getPassword()) .executeUpdate(); }}
spring的配置文件:
<?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"
xmlns:tx="http://www.springframework.org/schema/tx"
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
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">