前言
这次小编学习了spring+struts+Hibernate的框架,但是小编有点蒙,因为好像对他们不是太理解,所以在开始之前小编先做一个简单的总结,为了以后更好的发展做铺垫
Spring
Where spring
spring框架的产生是因为javaEE中EJB开发的负责性而产生的,所以会有很多东西与EJB非常类似,但是他唯一没有的就是规范,因为他的民间流行的一种产品,但是现在的EJB已经借鉴了spring的技术,加上自身的改良非常好用了
What spring
目的:解决企业应用开发的负责性
功能:使基本的javabean代替EJB
范围:任何java应用
使用:javabean技术
spring是一个轻量级控制反转(IOC)和面向切面(AOP)的容器框架
How spring
控制反转:当我们调用方法的时候我们不许要主动的去创建对象了,而是把这个权利叫给别人去干
依赖注入:spring主动创建被调用类的对象,然后把这个对象注入我们自己类中,这样我们就可以使用了
AOP:我们把一个方法看成一个切面,在这个前面的前后左右,我们都可以设置一些处理的方法,来进行一些特殊的处理
比如我们吃蛋糕,在吃蛋糕的时候我们需要拆盒,吃完之后我们要收拾垃圾,通过这种方式来实现编程
为什么叫做切面编程
在最开始的时候我们需要干的事情就是把每个里面都写日志,事物,权限,等一些共同的代码,没有得到复用,而且修改起来非常的方便,这个时候我们使用切面编程,切面指的横向编码,也就是我的事物,日志横穿一样,这样每一个人都可以都可以用一个,复用,易修改
Struts
What Struts
它是一个开源的框架,使用Struts的目的是为了让我们减少web应用的时间,当我们使用mvc框架的时候,如果想混合的使用jsp和servelts,那么strus是一个不错的选择,Strusts是Apache赞助的一个开源项目,最开始的时候他不是独立存在的,因为他采用了javaServlet和jsp计划,并且还让javaEEweb应用了mvc框架,所以才独立出来
Where Struts
Strusts翻译过来的意思是支柱,他的名字由来是建筑和旧式飞机使用的支持金书架。这个框架之所以叫Struts是因为为了提醒我们记住那些支撑我们房子的东西。这也是Struts所扮演的角色
当建筑师需要建筑每一层的时候,我们需要为每一层弄一个支柱,其实我们Struts也是在为业务应用的每一层提供支持,他的目的就是为了让我们减少运用MVC设计模型来开发web应用的时间,也就是减少开发时间,因为对于servelt与jsp来说可重用性差,非常不方便所以才有了Struts
Hibernate
What Hibernate
Hibernate的中文译为冬眠,但是用在javaEE中我们叫做持久化,什么是持久化:持久书就是将内存中的关系对象存储在关系型数据库中,也可以存储在磁盘或者是xml文件中
Where Hibernate
开放源代码的对象关系映射框架,他对JdBC做了对象封装,而且是轻量级的,他将POJO与数据库表建立映射关系,hibernate是一个采用全自动化的ORM框架,采用元数据描述对象-关系映射细节,元数据一般采用xml格式,hibernate可以自动化的生成sql语句,
Hibernate 优点
1.封装了jdbc,简化重复性代码
2.简化DAO编码工作,使开发更加对象化
3.移植性好,支持各种数据库,如果换了数据库我们也不用更改Hibernate的代码,只需要在配置文件中更改就可以了
4.Hibernate不需要继承任何类,不需要实现任何的接口,这样的对象叫做POJO对象
为什么我们要对象JDBC进行封装为Hibernate
1最开始的时候当我们还没有Hibernate的时候我们发现JDBC有很多语句 和连接,所以这个时候我们就是用Hibernate对JDBC进行了封装
2使用Hibernate的时候我们利用了他的ORM框架,这个时候我们就不需要对sql数据进行直接的操作,我们对对象来进行操作,把关系数据库的字段映射成我们的内存中对象的属性
对上述图进行扩展
1.Configuration:负责配置并启动Hibernate
2.SessionFactory接口:负责初始化Hibernate
3.session接口:负责持久化对象的CRUD(更新,删除,添加)等操作
4.Transaction接口:负责事物
5.Query:我们使用sql或者hibernate字符来对数据检索和创建对象
6.Criteria:对象用于创建和执行面向规则查询的对象来检索对象
总结
这次的学习让我体会到了新知识的思想,另外就是面向对象,面向过程,面向切面,让我们感觉这种思想这的非常好,如果运用到生活中我们一定会高效起来的,所以学习计算器是为了学习思想!