版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SSH
框架
介绍培训目标SSH基本概念认识框架认识SSH框架开发入门认识框架
大奔先生汽车之父和奔驰汽车奔驰汽车KarlFriedrichBenz汽车基本结构就是一个框架底盘车身发动机电气设备保时捷飞机汽车水上汽车框架是什么?框架是前辈们多年以来总结出的一些开发标准;让后辈可以以成功的经验模式来开发自已的系统。使用优秀框架的好处易于开发:框架对底层的API进行了封装,开发者不需要直接接触底层的API,只需要写一些必须的代码。结构清晰:清晰的结构使得各模块功能明确,更易于阅读,从而使其他开发者能够更快加入,也降低了后期维护成本。易于测试:采用成功的框架的代码比自己的代码容易测试。缩短周期:采用成功的框架能缩短项目的设计、开发周期。Struts2
SpringMVCHibernateSpring页面展示管理数据库MyBatis认识SSH框架
SpringMVCHibernateSpringSSHJava文件结构数据库连接、SQL语句SSH各部分技术负责工作JSP文件结构HTML跳转Java文件结构业务逻辑代码Servlet文件结构页面逻辑HibernateSpringMVCJavaBeanSpring管理认识SpringMVC
什么是MVC
电视节目电视信号电视机ModelView1ControllerView2View3模型控制视图是一种软件设计典范,通过业务逻辑、数据、界面显示分离的方法来组织代码什么是SpringMVC?SpringMVC是一个典型的教科书式的MVC框架,作用是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。即简化WEB前端开发的工具。同类竞争对手
Struts2SpringMVC工作原理认识Hibernate
什么是Hibernate?Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。即把对象操作转成SQL语句同类竞争对手
MybatisHibernate原理Java应用程序Hibernate持久化对象JNDIJDBC数据库SQLJava应用程序直接对持久化对象作增、删、改、查操作。Hibernate会把这些操作解释成SQL语句。通过JNDI、JDBC提交SQL到数据库。123Hibernate的优点对象/关系数据库映射(ORM),简化了DAO层编码工作,使开发更对象化了支持透明持久化(TransparentPersistent)它没有侵入性,即所谓的轻量级框架移植性会很好,能支持不同类型的数据库系统缓存机制,提供一级缓存和二级缓存认识Spring
什么是Spring?Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,创建的目的是解决企业应用开发的复杂性。什么是IOC?控制反转(InversionofControl,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。控制反转还有一个名字叫做依赖注入(DependencyInjection),简称DI。一个生活中的IOC例子何金水在某家公司任职,老板要求他负责公司职员日常的饮水问题。老板对金水可以有两种形式的要求:
第一种是必须只能购买A公司的水。第二种是只要有水喝就行不管哪家都行。
如果是第一种情况,那么当金水发现不能在和A公司合作而想转向购买B公司的水的时候,金水必须要做的一件事情是向老板请示并且征得其同意方可更改卖主。如果是第二种情况,则金水完全不用关心老板的意见就可以决定并且控制这个更改。
老板只对金水提出一个接口要求那就是水,至于从什么地方来,这个过程的更改控制权反转给了金水。类AAInterfaceaAInterfaceImpA代码片段:类A{
AInterfacea;
A(){}
aMethod(){
a=newAInterfaceImpA();
}}类AAInterfaceaAInterfaceImpB代码片段:类A{
AInterfacea;
A(){}
aMethod(){
a=newAInterfaceImpB();
}}类A和AinterfaceImplA耦合性太强ClassAAInterfaceaAInterfaceImpAAInterfaceImpBAinterface工厂AInterfacecreate(Objectcondition)根据条件condition返回不同的实现类代码片段:类InterfaceImplFactory{
AInterfacecreate(Objectcondition){
if(condition=condA){
returnnewAInterfaceImpA();
}elseif(condition=condB){
returnnewAInterfaceImpB();
}else{ returnnewAInterfaceImp(); } }}AinterfaceImplA、B和Ainterface工厂耦合性太强IOC容器类AAInterfaceaIOC工厂XML配置AInterfaceImpA123IOC工厂自动从XML获取类描述。实例化描述中的类。把实例化的类注入到指定的接口上。可以把IoC模式看做是工厂模式的升华,可以把IoC看作是一个大工厂,只不过这个大工厂里要生成的对象都是在XML文件中给出定义的,然后利用Java的“反射”编程,根据XML中给出的类名生成相应的对象。代码片段:类A{
AInterfacea=null;
A(){}}类AInterfaceImpA{}类AInterfaceImpB{}WEB容器SpringIOC容器如何使用SpringIOC把SpringMVC和Hibernate整合HinterfaceImplHibernate数据接口实现类SInterfaceImpl业务逻辑实现类Hinterface数据接口Controller对象Sinterface业务逻辑接口Hibernate对象注入JavaBean对象注入浏览器http请求http返回开发入门
1、开发环境搭建jdk1.7sts3.6.22、项目环境搭建导入相关jar包(spring包,Hibernate包,数据库驱动,数据源包,测试包等)web.xml配置spring配置文件配置springMVC配置文件配置3、编程开发配置文件介绍web.xml配置1、要正常的使用spring必须在web.xml中开启spring监听器,同时如spring配置文件名称、位置不是默认,则需要进行配置2、为避免Hibernate延时加载时因session关闭所产生的异常,通过openSessionInViewFilter配置,将session的开关交由spring进行管理3、进行DispatcherServlet配置,保证springMVC的正常使用,同时如springMVC配置文件名称、位置不是默认,则需要进行配置4、另外还可以进行字符编码过滤器配置,避免出现乱码现象等web.xmlweb.xml配置文件介绍属性文件(perties)数据库连接相关配置信息通常存储在属性配置文件中。配置文件介绍spring配置文件默认名称:applicationContext.xml。默认位置:/WEB-INF/applicationContext.xml。如果名称、位置不是在默认位置需在web.xml中进行配置。在该文件中可以进行如下配置:1、扫描包目录配置(同时开启基于注解方式)2、属性文件的导入配置3、注册需要spring来管理的类(整合Hibernate,对数据源对象与SessionFactory对象进行描述和属性配置)4、事务管理配置等spring-hibernate.xmlspring-hibernate.xmlspring-hibernate.xml配置文件介绍springMVC配置文件默认名称:<servletName>-servlet.xml。默认位置:/WEB-INF/<servletName>-servlet.xml。如果名称、位置不是在默认位置需在web.xml中进行配置。在该文件中可以进行如下配置:1、扫描包目录配置(同时开启基于注解方式)2、HandlerMapping、HandlerAdapter注册3、viewResolver配置4、异常页配置5、文件上传配置6、拦截器配置等springMVC.xml注解@Component(不推荐使用)@Repository(value="userDao")@Service("userService")@Constroller@Resource(name="userDao")@Autowired@Qualifier("userDao")(不推荐使用)<beans><beanid="userDao"class="com.shy.ssh.dao.UserDao"/></beans><beans><beanid="userService"class="com.shy.ssh.service.UserService">
<propertyname="userDao"ref="userDao"/></bean></beans>UserBean.javaUserDao.java@Repository("userDao")publicclassUserDaoimplementsIUserDao{ privateSessionFactorysessionFactory; publicSessionFactorygetSessionFactory(){ returnsessionFactory; }
@Autowired publicvoidsetSessionFactory(SessionFactorysessionFactory){ this.sessionFactory=sessionFactory; } privateSessiongetCurrentSession(){ returnthis.sessionFactory.getCurrentSession(); } @Override publicSerializablesave(UserBeanuserBean){ returnthis.getCurrentSession().save(userBean); }}publicinterfaceIUserDao{publicSerializablesave(UserBeanuserBean);}UserService.javapublicinterfaceIUserService{publicSerializablesave(UserBeanuserBean);}UserController.java@Controller@RequestMapping("/user")publicclassUserController{ privateIUserServiceuserService; publicIUserServicegetUserService(){returnuserService;}
@Resource(name="userService") publicvoidsetUserService(IUserServiceuserService){ this.userService=userService; }
@RequestMapping(val
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南郑州大学影视创研中心招聘3人考试备考试题及答案解析
- 2026广东东莞中学洪梅学校招聘在编教师7名考试备考题库及答案解析
- 四川中烟工业有限责任公司2026年度高层次人才招聘考试备考试题及答案解析
- 2026福建兴银理财春季社会招聘考试备考题库及答案解析
- 2026北京建筑大学第一批次聘用制岗位招聘16人考试参考题库及答案解析
- 2026河北廊坊市中级人民法院招聘劳务派遣人员2名考试参考题库及答案解析
- 2026年云南省影视协会招聘工作人员(2人)考试备考试题及答案解析
- 2026年彭泽县红光港管理服务中心招聘海关协管员考试参考试题及答案解析
- 2026年靖宇县公开招聘城市社区工作者专职岗位人员(12人)笔试参考题库及答案解析
- 2026北京海淀区妇幼保健院人才招聘考试备考试题及答案解析
- 智慧健康养老服务与管理专业教学标准(高等职业教育专科)2025修订
- 珠宝首饰售后服务与保修合同
- 2025年广东省惠州市惠城区中考一模英语试题(含答案无听力原文及音频)
- 煤矿皮带输送机跑偏原因和处理方法
- 征兵体检超声诊断
- 创伤后应激障碍的心理护理
- 云南省大理白族自治州2025届高三上学期二模考试 英语 含解析
- 医疗项目年度总结模板
- 武器装备科研生产单位保密自检报告
- 南京师范大学中北学院《无机及分析化学实验实验》2023-2024学年第一学期期末试卷
- 2024-2025学年上学期上海六年级英语期末复习卷3
评论
0/150
提交评论