上文中我们介绍《工作笔记2.软件开发经常使用工具

从今天開始本文将教大家怎样进行开发?本文以搭建SSH(struts2+hibernate+spring)框架为例,共分为3步:

1)3个独立配置:struts2、 Hibernate、 Spring

2)2个整合:整合Sring和struts2、 整合Spring和Hibernate

3)资源分类

开发包、软件、框架源代码,已经共享到百度网盘:http://pan.baidu.com/s/1o6FkbA6

一、3个独立配置

1、Struts2:

1.1jar包

拷贝此路径下的全部jar包,并放置在WebRoot/WEB-INF/lib中,路径:

Struts2开发包__struts-2.1.8.1-all\struts-2.1.8.1\apps\struts2-blank-2.1.8.1\WEB-INF\lib全部包

1.2拷贝配置文件

1.2.1struts.xml

拷贝已有struts.xml文件,并放置在config中,路径:struts2-blank-2.1.8.1\WEB-INF\src\java或:struts2-blank-2.1.8.1\WEB-INF\classes

1.2.2web.xml,核心过滤器

拷贝下图中红色框部分至web.xml中

1.3改动struts.xml文件

在struts.xml中加入下图中红色框部分代码

2.Hibernate

2.1jar包

拷贝此路径下的全部jar包,并放置在WebRoot/WEB-INF/lib中:

核心包1个:hibernate3.jar,路径:hibernate-distribution-3.6.0.Final

依赖包6个:requested,路径:\hibernate-distribution-3.6.0.Final\lib\required中全部。

Jpa1个:hibernate-jpa-2.0-api-1.0.0.Final.jar,路径:hibernate-distribution-3.6.0.Final\lib\jpa

数据库连接池1个,c3p0-0.9.1.jar,路径:hibernate-distribution-3.6.0.Final\lib\optional\c3p0

数据库驱动jdbc:mysql-connector-java-5.1.7

2.2配置文件

2.1.1主配置文件,hibernate.cfg.xml

2.1.2日志文件,Log4j.properties

2.1.3映射文件,*.hbm.xml,与实体相关

2.3改动hibernate配置文件

改动:hibernate.cfg.xml,加入例如以下配置信息:

数据库连接信息

其它配置:自己主动建表、显示sql语句、配置二级缓存

导入映射文件

3.Spring

3.1jar包-5

拷贝此路径下的全部jar包,并放置在WebRoot/WEB-INF/lib中,路径:

核心包:spring.jar

依赖包,AOP相关3。原理:动态代理+cglib子类方式代理

Aspect:aspectjrt.jar、aspectjweaver.jar

Cglib:cglib-nodep-2.1_3.jar

日志,commons-logging.jar

3.2配置文件

改动applicationContext.xml或Beans.xml配置文件

注解方式

二、2个整合

4.整合spring和struts,目的:Action交由spring管理

4.1整合目的:

原来:通过反射,生成实例

如今:从spring容器中拿对象

4.2jar包

Struts2-spring-plugin-2.1.8.1,jar

4.3配置文件

配置文件:配置spring用于初始化容器对象的监听器

路径:Spring开发包__spring-framework-2.5.6.SEC01-with-dependencies\spring-framework-2.5.6.SEC01\docs\reference\html_single---15.2

 5.整合spring和Hibernate

5.1整合目的

管理SessionFactory实例(仅仅须要一个)

声明式事务管理(xml/注解)

5.2步骤:

1、首先在applicationContext.xml中标注

2、新建实例User.java

3、建立相应的“实体映射类”User.hbm.xml

4、把User.hbm.xml,拖拽到hibernate.cfg.xml中

5.3运行JUnit后,自己主动建表

三、资源分类

源代码文件夹是classpath的根文件夹

WebRoot/WEB-INF目录不能直接訪问,须要经过Action携带信息

开发的时候,能够进行分类,可是实际输出的是一个文件夹

总结:

    本文以搭建SSH(struts2+hibernate+spring)框架为例,通过3个独立配置、2个整合,基本完毕SSH框架搭建。通过“资源分类”养成良好的编码习惯。详细的配置不须要死记硬背,用的时候知道去哪里查找就能够了。
    一般而言,开发者非常少參与环境的搭建,直接使用公司现成的框架就可以。可是,鉴于学习的目的,还是建议您亲手试一试为妙!“SSH(struts2+hibernate+spring)框架模板”,可參见:http://pan.baidu.com/s/1o6FkbA6

工作笔记3.手把手教你搭建SSH(struts2+hibernate+spring)环境的更多相关文章

  1. 手把手教你搭建SSH框架(Eclipse版)

    原文来自公众号[C you again],若需下载完整源码,请在公众号后台回复"ssh". 本期文章详细讲解了SSH(Spring+SpringMVC+Hibernate)框架的搭 ...

  2. ssh(Struts2+hibernate+spring)简单分页

    实体类+实体映射+entity(pagebean)+dao层+service层+action层

  3. 庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境

    庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多, ...

  4. 大数据江湖之即席查询与分析(下篇)--手把手教你搭建即席查询与分析Demo

    上篇小弟分享了几个“即席查询与分析”的典型案例,引起了不少共鸣,好多小伙伴迫不及待地追问我们:说好的“手把手教你搭建即席查询与分析Demo”啥时候能出?说到就得做到,差啥不能差人品,本篇只分享技术干货 ...

  5. 手把手教你搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  6. 手把手教你搭建Pytest+Allure2.X环境详细教程,生成让你一见钟情的测试报告(非常详细,非常实用)

    简介 宏哥之前在做接口自动化的时候,用的测试报告是HTMLTestRunner,虽说自定义模板后能满足基本诉求,但是仍显得不够档次,高端,大气,遂想用其他优秀的report框架替换之.一次偶然的机会, ...

  7. 手把手教你搭建FastDFS集群(下)

    手把手教你搭建FastDFS集群(下) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  8. 手把手教你搭建FastDFS集群(中)

    手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  9. 手把手教你搭建FastDFS集群(上)

    手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209        FastDFS是一个 ...

随机推荐

  1. linuxIO刷新机制fsync和fdatasync详细解释

    前言: Linux,unix在内核中设有 缓冲区快速缓冲或页面快速缓冲.大多数磁盘I/O都通过缓冲进行,採用延迟写技术. sync:将全部改动过的快缓存区排入写队列.然后返回.并不等待实际写磁盘操作结 ...

  2. JSON连载java目的

    一. 前台(JS  面向对象) 1. 定义SearchView对象 function SearchView() { } SearchView.prototype.setViewName = funct ...

  3. java javaEE javaWEB J2EE程序猿猿程序是脑损伤,终身工作程序猿

    这几天我越来越郁闷.程序员现在很火----特javaEE员. 但我觉得火只是给人们的工作程序员. 原因 javaweb该项目是非常大的.没听过那个码农能单独接到什么项目.仅仅能被人剥削. 有人不信,我 ...

  4. 2014年度辛星完全解读html部分

    接下来,我们继续学习HTML标签,希望大家可以再接再厉.同一时候辛星也会支持大家.我们一起努力,一起加油. 我们本小节来认识另外几个标签. *************空格和换行************ ...

  5. 当向后台插入或读取JSON数据遇见回车时

    今天在项目中发现.当插入或读取JSON数据时遇见回车符.返回JSON数据格式时会报错(firebug里体现为乱码),百度了一下发现JSON不支持字符串里存在回车! 解决的方法: 在向接口插入带json ...

  6. Android虚拟机器学习总结Dalvik虚拟机创建进程和线程分析

    Dalvik调用一个成员函数时,虚拟机,假设发现,该成员函数是一个JNI办法,然后,它会直接跳转到其地址来运行.也就是说.JNI方法是直接在本地操作系统上运行的.而不是由Dalvik虚拟机解释器运行. ...

  7. bash no such file or directory in ubuntu 1404

    我在我的今天macbook pro retina 里面安装的虚拟机ubuntu 1404. 当我试图执行cadence ncverilog时间.ubuntu终端错误"bash no such ...

  8. 怎么样sourceforge开源项目发现,centos安装-同htop安装案例

    一个.htop什么? top是linux下经常使用的监控程序.htop相当于其加强版,颜色显示不同參数.且支持鼠标操作. 详细介绍參看此说明文档. watermark/2/text/aHR0cDovL ...

  9. JavaScript语言基础知识7

    JavaScript该阵列是一个新概念. 我们可以使用newkeyword和Array()构造函数来解释 排列: <HTML> <HEAD> <TITLE>Hell ...

  10. jQuery的使用及关于框架造型(转)

    Introduction 正如jQuery所宣称的一样,Write Less, Do More.很多时候我们喜欢用它来解决问题.但增加一个库必然意味着更大的网络负担,意味着更高的页面初始载入时间.并且 ...