Spring是开源轻量级一站式框架:
web层:springMvc
service层:IOC
dao层:jdbcTemplate
完成项目,使用的技术越少,对于以后的维护,项目管理,学习成本等都有好处,因此很多项目都是单独使用Spring框架完成
主要核心:
IOC:控制反转,使用xml配置文件的方式帮我们创建对象,其实这个操作我们以前也经常用,不过在spring中,它做了更好的扩展,不仅可以创建对象,还能给类中某一个成员变量注入值
AOP:在struts2中我已经介绍过AOP的思想,核心思想就是通过配置文件的方式对方法/函数进行增强,底层原理是通过动态代理的方式,创建一个代理对象(这个代理对象可能是一个接口的实现类,也可能是一个类的子类)帮我们完成功能增强(面向切面编程)
jdbcTemplate:jdbc模板,在spring中提供针对很多不同框架jdbc实现类,包括hibernate等可以通过创建这些实现类对象,来完成curd操作
事务管理器:spring中针对事务处理,提供了一个类,通过配置文件或者注解方式给方法添加事务
Spring整合框架的原理:
Spring的配置文件,会在服务器启动的时候被加载,更确切的说是在servletContext创建的时候,Spring研发者在Spring中创建了一个servletContext监听器,用来监听servletContext的生命周期,在其创建的时候,监听器就会执行加载配置文件的函数,同时创建
对象,并将这些对象存放到servletContext域中,用的时候再从servletContext中取出。
SSH整合过程:
导入项目jar包
搭建struts2环境
创建action,创建struts.xml配置文件,配置action
web.xml中配置struts2过滤器
搭建hibernate环境
创建实体类
创建实体类与数据库表的映射关系(映射配置文件)
创建hibernate核心配置文件(引入映射配置文件)
搭建Spring框架环境
创建Spring核心配置文件
web.xml配置监听器
Struts2和Spring整合
创建action对象的工作交给Spring(注意action是多实例)
同时修改struts.xml中的action标签class属性的值为bean标签的id值
Spring和hibernate整合
把hibernate数据库配置,写到Spring核心配置文件中(创建DataSource对象,c3p0连接池的配置)
配置hibernate的sessionFactory对象,并注入DataSource
配置hibernateTemplate对象并注入sessionFactory
配置Dao中注入hibernateTemplate对象
配置事务