导包:
Struts2需要导入的jar:
asm-3.3.jar asm-commons-3.3.jar asm-tree-3.3.jar commons-fileupload-1.3.1.jar commons-io-2.2.jar commons-lang3-3.2.jar freemarker-2.3.22.jar javassist-3.11.0-GA.jar log4j-core-2.2.jar log4j-api-2.2.jar ognl-3.0.6.jar struts2-core-2.3.24.jar xwork-core-2.3.24.jar struts2-spring-plugin-2.3.24.jar struts-contention-plugin-2.3.14.jar
导入struts2的注解开发包:struts-contention-plugin-2.3.14.jar
|—— 注意: 如果不使用注解开发,千万不要导入这个包
spring需要导入的jar:
spring-aop-4.24.RELEASE.jar spring-aspectJ-4.24.RELEASE.jar spring-beans-4.24.RELEASE.jar spring-context-4.24.RELEASE.jar spring-core-4.24.RELEASE.jar spring-expression-4.24.RELEASE.jar spring-jdbc-4.24.RELEASE.jar spring-orm-4.24.RELEASE.jar spring-test-4.24.RELEASE.jar spring-tx-4.24.RELEASE.jar spring-web-4.24.RELEASE.jar commons-logging-1.2.jar com.springsource.org.com.mchange.v2.c3p0-0.9.1.2.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar
hibernate需要导入的jar:
antrl2-2.7.6.jar commons-collections-3.1.jar dom4j-1.6.1.jar geronimo-jpa-2.0-api-1.0.1.Final.jar hibernate-core.5.0.7.Final.jar hibernate-jpa-2.1.Final.jar jandex-2.0.0.Final.jar javassist-3.18.1-GA.jar jboss-logging-3.3.0.Final.jar
2.1 配置文件详解见 其他文章
实体类开发: package cn.javabs.entity; @Entity @Table(name="t_user") public class User{ @Id @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; @Column(name="username",length=50) private String username; private String password; // 此处省略getter和setter方法 }
在上述代码中:
@Entity 注解为实体类制定类的路径
@Id 注解是制定id为主键
@Generated 注解是为主键制定生成策略
以上注解实际上代表着hibernate的实体映射文件User.hbm.xml的功能。
DAO开发 @Repository public class UserDaoImpl implementsn UserDao{ @Autowired private HibernateTemplate hibernateTemplate;//提供Hibernate模板 public User findById(Integer id){ return this.hibernateTemplate.get(User.class,id); } public List
Service开发 @Service public class UserServiceImpl implements UserService{ @Autowired private UserDao userDao; @Transactional public void saveUser(User user){ this.userDao.save(user); } @Transactional public void updateUser(User user){ this.userDao.update(user); } @Transactional public void deleteUser(User user){ this.userDao.delete(user); } @Transactional(readOnly=true) public User findUserById(Integer id){ return this.userDao.findById(id); } @Transactional(readOnly=true) public User findAll(){ return this.userDao.findAll(); } }
在上述代码中,使用@Service 注解用于标注Service层信息
@Autowired 用于自动注入UserDao接口
@Transactional注解用于配置事务,此时可以删除掉spring配置文件中的相关的配置信息
Action开发 @Namespace("/") @ParentPackage("struts-default") @Controller public class UserAction extentds ActionSupport implements ModelDriven
在以上代码中,
@Namespace 和 @ ParentPackage 注解用于代替 Struts2 配置文件中对action的配置
@Controller 注解用于Spring 容器中注册UserManagerAction实例
applicationContext.xml配置文件开发
6.hibernate.cfg.xml开发