ssh系统环境搭建步骤

1、创建一个web project
2、add maven support  添加一个maven支持
3、编辑pom.xml文件
	数据库的驱动依赖
	hibernate依赖
	struts2的依赖
	spring依赖
	其他的工具包的依赖
4、写持久化类和映射文件和配置文件
     说明:
         src/main/java
	     com.itheima09.oa.domain
	         Person.java
		 Person.hbm.xml
         src/main/resources
	     hibernate
	         hibernate.cfg.xml
             com.itheima09.oa.domain
	         Person.hbm.xml
5、写spring的配置文件,引入sessionFactory
6、测试
      在src/test/java中创建测试类
7、在spring的配置文件中开启两个注解解析器
      类扫描的
	<context:component-scan base-package="com.itheima09.oa"></context:component-scan>
      事务的
	<tx:annotation-driven transaction-manager="transactionManager"/>
8、写dao层和service层的类和接口
      注意:在service层中
	@Service("personService")
	public class PersonServiceImpl implements PersonService{
		@Resource(name="personDao")
		private PersonDao personDao;

		/**
		 * spring基于注解的事务配置精确到了某一个方法
		 */
		@Transactional(readOnly=false)
		public void savePerson(Person person) {
			// TODO Auto-generated method stub
			this.personDao.savePerson(person);
		}
	}

	@Transactional:该注解可以用于方法,也可以用于类
	    该注解都可以保持默认值,其中readOnly的默认值为false
	    所以只要加在类上,所有的方法都有读写事务,这样效率比较低
	    所以一般加在方法上
9、测试spring的声明式事务处理

10、写action  复用action
	public abstract class BaseAction<T> implements ModelDriven<T>{

		public abstract BaseService<T> getBaseService();
		
		private Class modelDriverClass;
		private T t;
		
		public BaseAction() {
			//获取 BaseAction<T>
			ParameterizedType type = (ParameterizedType)this.getClass().getGenericSuperclass();
			//获取T的class形式
			this.modelDriverClass = (Class)type.getActualTypeArguments()[0];
			try {
				this.t = (T) this.modelDriverClass.newInstance();//为t创建对象
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} 
		}
		
		@Override
		public T getModel() {
			// TODO Auto-generated method stub
			return this.t;
		}
		
		/**
		 * 查询
		 */
		public String showData(){
			Collection<T> dataList = this.getBaseService().queryEntry();
			ActionContext.getContext().put("dataList", dataList);
			return "list";
		}
	}
	说明:
	    1、利用泛型让模型驱动重用了
	    2、把action层最常用的方法集成到了BaseAction
11、编写struts2的配置文件
12、在src/main/webapp/web-inf/
                              jsp
			         person
				       list.jsp
13、在web.xml中

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_无往而不胜_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值