前言
Maven+Spring+SpringMVC+Hibernate+Mysql的简单整合(入门级),实现数据库的增删查改。Maven管理项目,统一开发规范和工具、统一管理Jar包。Spring轻量级的Java开发框架、控制反转IOC和依赖注入DI来管理对象依赖关系.、面向切面编程AOP来管理事物等。SpringMVC轻量级Web框架,使用MVC架构思想对web层进行解耦,简化开发。Hibernate全自动ORM(对象关系映射)框架,是持久层的框架,使我们采用对象化的思维操作关系型数据库。Mysql关系型数据库。
开发环境
- JDK 1.7
- Tomcat 7
- Spring 4.3.7
- SpringMVC 4.3.7
- Hibernate 4.3.8
- Maven 3.3
- Eclipse
新建项目
File-->New-->other..-->Maven Project-->Next-->Next
选择Maven的webapp项目。
填写 Group id、Artifact Id、Version、Package ,点击Finish完成。
- Group id 公司或组织名称
- Artifact Id 项目名称
- Version 版本号,SNAPSHOT意为快照,说明该项目还在开发中,是不稳定的版本
- Package 包名 由Group ID和Artifact ID生成。
** 注:groupId、artifactId、version三个元素生成了一个Maven项目的基本坐标**
项目结构
- src/main/java java代码目录
- src/main/resources 配置文件目录
- pom.xml Maven的管理配置文件,jar包配置文件。
- spring.xml Spring + Hibernate 配置文件
- spring-mvc.xml Spring MVC配置文件
- config.properties 数据库参数配置文件
- log4j.properties log4j日志配置文件
Maven管理配置 pom.xml
使用Maven管理项目,统一开发规范和工具,统一管理jar包。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.chronos</groupId>
<artifactId>mssh</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>mssh Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<!-- 测试相关 start -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 测试相关 end -->
<!-- spring 相关 -->
<dependency> <!-- spring核心工具包 -->
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- springIOC基础实现 -->
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- spring web相关核心 -->
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- aop 面向切面编程 -->
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- 事务 -->
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- orm 整合第三方orm实现 -->
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- 对JDBC 的简单封装 -->
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- spring 表达式语言-->
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency> <!-- 测试框架-->
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- spring 相关 -->
<dependency> <!-- aop依赖包 -->
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.9</version>
</dependency>
<!-- spring mvc 相关 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- spring mvc 相关 -->
<!-- web相关 start -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency> <!-- jstl标签 -->
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- web相关 end -->
<!-- hibernate相关 start-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.8.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-ehcache</artifactId>
<version>4.3.8.Final</version>
</dependency>
<!-- hibernate相关 end -->
<!-- 数据库相关 -->
<dependency> <!-- 阿里druid连接池 -->
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.18</version>
</<