• Spring 学习04


    一、上节内容回顾

    1 基于aspectj的注解aop操作

    2 spring的jdbcTemplate操作

    (1)实现crud操作

    - 添加、修改、删除update方法

    - 查询

    -- 查询某个值 queryForObject

    -- 查询对象queryForObject

    -- 查询list query

    3 spring配置连接池

    (1)配置c3p0连接池

    (2)dao注入jdbcTemplate

    4 spring事务管理

    (1)事务概念

    (2)spring进行事务管理api

    (3)spring进行事务配置

    - 基于xml配置文件

    - 基于注解方式

    二、今天内容介绍

    SSH三大框架整合

    (1)struts2

    (2)hibernate5.x

    (3)spring4.x

    三、回顾SSH框架知识点

    Hibernate框架

    1 hibernate核心配置文件

    (0)orm思想

    - 对象关系映射

    (1)数据库信息

    (2)hibernate信息

    (3)映射配置

    (4)hibernate核心配置文件

    - 如果单纯使用hibernate框架,核心配置文件名称 hibernate.cfg.xml和位置 src下面 固定的

    - hibernate和spring整合时候,hibernate核心配置文件名称和位置没有固定要求的

    2 hibernate映射配置文件

    (1)实体类和数据库表映射关系—使用orm思想

    3 hibernate操作的步骤

    (1)在spring框架对hibernate框架进行封装,使用hibernateTemplate

    Struts2框架

    1 Action操作

    (1)action创建三种方式

    - 继承类 ActionSupport

    (2)配置action访问路径

    - 创建struts.xml配置文件,这个文件名称和位置固定 src下面的

    (3)配置访问action的多个方法

    - 使用通配符方式配置

    (4)在action获取表单提交数据

    - 获取request对象

    ** 使用ServletActionContext类获取

    - 属性封装

    - 模型驱动(重点)

    - 表达式封装

    (5)在action操作域对象

    - 使用ServletActionContext获取域对象

    (6)配置struts2的过滤器

    2 值栈

    (1)向值栈放数据

    - set方法

    - push方法

    - 定义变量,生成get方法

    (2)从值栈获取数据

    - 在jsp中使用struts2标签+ognl获取

    - <s:property>

    - <s:iterator>

    3 拦截器

    (1)aop和责任链模式

    (2)自定义拦截器

    - 继承MethodFilterInterceptor

    - 重写类里面的方法

    - 配置拦截器和action关联

    Spring框架

    1 spring核心配置文件

    (1)名称和位置没有固定要求

    (2)在spring核心配置文件中引入schema约束

    2 创建对象

    (1)xml配置方式:<bean  id=””  class=””  scope=””/>

    (2)注解方式:四个注解

    3 注入属性(对象类型属性)

    (1)xml配置方式:

    (2)注解方式:两个注解

    - autowired

    - resource

    3 使用ServletContext对象和监听器实现

    (1)在服务器启动时候,加载spring配置文件,创建对象

    (2)配置spring的监听器

    (3)指定spring配置文件位置

    4 jdbcTemplate

    5 spring事务配置

    (1)xml方式

    (2)注解方式

    SSH框架整合思想

    1 三大框架应用在javaee三层结构

    2 struts2框架和spring整合

    (1)struts2的action在spring配置

    3 spring框架和hibernate框架整合

    (1)hibernate的sessionFactory交给spring配置

    (2)把hibernate数据库配置交给spring配置

    四、整合struts2和spring框架

    1 把struts2的action交给spring管理

    2 实现过程

    第一步 导入struts2的jar包

    (1)导入用于整合的jar包

    第二步 创建action

    第三步 创建struts2核心配置文件,配置action

    (1)位置在src下面,名称是struts.xml

    第四步 配置struts2过滤器

    第五步 导入spring的jar包

    第六步 创建spring配置文件

    (1)       引入约束

    (2)       配置spring监听器

    (3)       指定spring配置文件位置

    第七步 把action交给spring进行配置(***)

    (1)在spring配置action对象,在struts.xml中也配置action对象

    (2)解决:

    只需要在spring里面配置action对象,不要在struts.xml中配置

    五、Spring框架整合hibernate框架

    1 把hibernate核心配置文件中配置数据库信息,把数据库信息在spring进行配置

    2 把hibernate里面的sessionFactory创建交给spring管理 

    具体实现

    第一步 导入hibernate的jar包

    (1)导入struts2和hibernate的jar包时候有jar冲突问题

    在struts2里面有jar包

    在hibernate里面有jar包

    删除低版本的jar包

    (2)导入spring整合持久化层框架需要导入jar包

    第二步 搭建hibernate环境搭建

    1 创建实体类

    2 配置实体类映射关系

    3 创建核心配置文件

    第三步 把hibernate核心配置文件数据库配置,在spring进行配置

    (1)把hibernate核心文件中数据库配置去掉了,在spring配置

    第四步 把hibernate的sessionFactory交给spring配置

    (1)服务器启动时候,加载spring配置文件,把配置文件中对象创建

    (2)把sessionFactory对象创建在spring配置

    (3)因为创建sessionFactory代码不是new出来的,而是多行代码实现的

    (4)spring里面针对上面情况,封装类,配置类对象可以创建sessionFactory

     

    第五步 在dao里面使用hibernateTemplate

    (1)在dao得到hibernateTemplate的对象

    (2)调用hibernate模板里面save方法添加

    没有配置事务,做操作时候,出现异常

    第六步 配置事务

    六、HibernateTemplate介绍

    1 HibernateTemplate对hibernate框架进行封装,

    直接调用HibernateTemplate里面的方法实现功能

    2 HibernateTemplate常用的方法

    • Serializable save(Object entity) :添加操作
    •  void update(Object entity) :修改操作
    •  void delete(Object entity) :删除操作
    •  <T> T get(Class<T> entityClass, Serializable id) :根据id查询
    •  <T> T load(Class<T> entityClass, Serializable id): 根据id查询

     

    •  List find(String queryString, Object... values) :查询操作的方法

    (1)第一个参数是 hql语句

    (2)语句参数值

     七、SSH框架整合过程

    第一步 导入jar包

    第二步 搭建struts2环境

    (1)创建action,创建struts.xml配置文件,配置action

    (2)配置struts2的过滤器

    第三步 搭建hibernate环境

    (1)创建实体类

    (2)配置实体类和数据库表映射关系

    (3)创建hibernate核心配置文件

    - 引入映射配置文件

    第四步 搭建spring环境

    (1)创建spring核心配置文件

    (2)让spring配置文件在服务器启动时候加载

    - 配置监听器

     

    - 指定spring配置文件位置

    第五步 struts2和spring整合

    (1)把action在spring配置(action多实例的)

    (2)在struts.xml中action标签class属性里面写 bean的id值

    第六步 spring和hibernate整合

     (1)把hibernate核心配置文件中数据库配置,在spring里面配置

    (2)把hibernate的sessionFactory在spring配置

    第七步 在dao里面使用hibernateTemplate

    (1)在dao注入hibernateTemplate对象

    (2)在hibernateTemplate对象中注入sessionFactory

     

    第八步 配置事务

     

    出现异常时候,

    第一行 异常信息

    下面 cased by :

    八、整合其他方式

    1 spring整合hibernate时候,可以不写hibernate核心配置文件

    (1)把hibernate核心配置文件中,基本信息配置和映射引入都放到spring配置

     

    九、Spring分模块开发 

    1 在spring里面配置多个内容,造成配置混乱,不利用维护

    2 把spring核心配置文件中,一部分配置放到单独的配置文件中,在spring核心配置文件中引入单独配置文件

    问题:

    1 在struts2里面和hibernate里面都有jar包

    Jar包冲突问题,删除其中的一个,删除低版本的jar包

    2 如果把数据库信息配置在hibernate里面进行配置

    (1)出现异常,事务里面找不到数据源了

    (2)数据库配置在spring里面配置

    SSH练习功能

    1 客户管理

    (1)crud操作

    2 联系人管理

    (1)配置一对多操作

    (2)添加联系人

    - 选择所属客户

    - struts2实现文件上传

    (3)联系人列表

    (4)修改联系人

    3 客户拜访管理

    (1)多对多配置拆分成两个有对多实现

    4 综合查询

    (1)多条件组合查询

    5 统计分析

    (1)hibernateTemplate调用底层sql实现功能

    6 其他知识

    (1)svn版本控制工具使用

    (2)代码重构

    - baseDao抽取

    (3)插件:jquery easyui

    - jquery ajax操作

    - json数据格式

    完成任务

    1 搭建ssh整合环境

    2 复习知识

    (1)jquery ajax操作

    (2)json数据格式

  • 相关阅读:
    windows下操作linux虚拟机映射网络驱动器中文件提示chmod权限不足解决方案
    Centos 更改MySQL5.7数据库目录位置
    MySQL语句增加字段,修改字段名,修改类型,修改默认值
    [MySQL]MySQL数据库中如何查询分组后每组中的最后一条记录?
    ROW_NUMBER()函数使用详解
    【转】mysql 存储过程的示例
    简简单单储存过程——循环一个select结果集
    mysql存储过程demo
    mysql日期加一个天数获得新的日期
    使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步
  • 原文地址:https://www.cnblogs.com/pony1223/p/9931800.html
Copyright © 2020-2023  润新知