用Idea 创建一个简单Maven-SSH 项目的流程(待完成)

本文记录梳理用Idea 创建一个简单Maven-SSH 框架项目的流程。

0)框架功能梳理:

Maven项目对象模型(POM) 通过一小段描述信息来管理JAR文件的工具。

Spring (低耦合 高内聚): IoC, 对成员变量的赋值的控制权从代码中反转到配置文件中;依赖注入,核心是一个利用反射的方式加载配置文件(app.xml)、创建对象(bean) 的工厂模式(默认单例),用接口原理降低了耦合度;AOP, 将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去,提高内聚(代码重用);类似filter,用于场景如登陆时候在进入登录页面前写入日志,登录以后查看cookie等类似的操作,很常用的,尤其是跟数据库有关的,或者跟支付有关的程序肯定会在每一步前面插入日志,还有某些国际化项目会在每次跳转时候都转换字符集之类。 

Struts 2: 封装Servlet;请求和相应的分发跳转,页面数据的采集获得。

Hibernate: 封装JDBC;数据库交互(连接、对持久化对象的操作)。

1)准备软件:

JDK (Java Development Kit ),其中包含JRE(Java Runtime Environment);

Intellij Idea: 最好用的Java IDE;

MySQL 数据库:装好之后可直接在Idea 界面操作;如下图6步操作建立schema, schema 内可建多个表。



另外,可设置显示哪些Schema(数据库),如下图:


2)File - New - Project... - Maven - Create from archetype (勾选上) - webapp - Next。

3)填写GroupId 和 ArtifactId,一路Next(其间可修改项目名称等),直到Finish,需等待Idea Run "Import change"。

4)分别配置Maven 的pom.xml,Tomcat 的web.xml,Spring 的app.xml,Hibernate,Struts 2 的struts.xml。

    a) pom.xml: 添加依赖(dependencies, 可在mvnrepository.com 查询) spring(context, core, beans, web, aop, orm, tx, context-support, expression), hibernate, commons(dbcp, pool), servlet, struts2-core, struts2-spring-plugin, struts2-json-plugin, fast json (或 Gson), struts2-convention-plugin, jstl, taglibs. 

    b) web.xml: 配置Spring 的监听服务器的 ContextLoaderListener,上下文参数context-param; struts2 核心过滤器。 

  c) applicationContext.xml: Spring 监听到web服务器启动后,会以此xml 为参数创建一个容器(ClassPathXmlApplicationContext),由容器创建对象(getBean)。

    d) 直接在app.xml 配置Hibernate, 不再需要单独的hibernate.cfg.xml. 取而代之的具体配置是:dbcp 数据库连接工具(也可换成c3p0, druid 等)和pool 连接池,Spring 的连接工厂。配好后可在菜单View - Tool Windows - Database (左下角有一个快捷窗口按钮,也可打开Database)导入此配置(dataSource),测试连接,成功的话有提示"Successful"。然后在Project Structure 的Modules 中添加Hibernate,此步完成之后才能看到tool windows 里的Persistence。用Hibernate 反向生成Pojo:菜单View  - Tool Windows - Persistence (左下角有一个快捷窗口按钮,也可打开Persistence),空白处右键,Generate Persistence Mapping - By Database Schema。下面两图为建立两个多对一关系(emp 对demp) 的实体类的步骤。



    e) struts.xml: 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章