IDEA下的Maven+SSM框架搭建
(1) Maven設定
Maven是一個專案管理工具,本專案中主要用來對jar包的管理
File – Settings -- Maven
Maven中conf 中 settings.xml設定(可要可不要,就是上圖中的local repository)
(2) 建立maven專案
File—New--Project
接著下一步,這裡需要注在Properties中新增一個引數 archetypeCatalog=internal,不加這個引數,在maven生成骨架的時候將會非常慢,有時候直接卡住(很重要,在setting檔案中改映象地址也可以,
建立maven專案結果
匯入相關配置和包,這是漫長的過程。
若是過程中有報
就去垃圾回收站把這個專案刪除即可
為專案新增java包
File-- Project Structure---Modules
將java 檔案變成source資料夾,參考
http://www.jianshu.com/p/099eeca28c0f
(3) pom.xml設定
-
<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.bian.web</groupId>
-
<artifactId>web-bian</artifactId>
-
<packaging>war</packaging>
-
<version>1.0-SNAPSHOT</version>
-
<name>web-bian Maven Webapp</name>
-
<url>http://maven.apache.org</url>
-
<properties>
-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-
<!-- spring版本號 -->
-
<spring.version>4.2.5.RELEASE</spring.version>
-
<!-- mybatis版本號 -->
-
<mybatis.version>3.2.8</mybatis.version>
-
<!-- mysql驅動版本號 -->
-
<mysql-driver.version>5.1.29</mysql-driver.version>
-
<!-- log4j日誌包版本號 -->
-
<slf4j.version>1.7.18</slf4j.version>
-
<log4j.version>1.2.17</log4j.version>
-
</properties>
-
<dependencies>
-
<!-- 新增jstl依賴 -->
-
<dependency>
-
<groupId>jstl</groupId>
-
<artifactId>jstl</artifactId>
-
<version>1.2</version>
-
</dependency>
-
<dependency>
-
<groupId>javax</groupId>
-
<artifactId>javaee-api</artifactId>
-
<version>7.0</version>
-
</dependency>
-
<!-- 新增junit4依賴 -->
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>4.11</version>
-
<!-- 指定範圍,在測試時才會載入 -->
-
<scope>test</scope>
-
</dependency>
-
<!-- 新增spring核心依賴 -->
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-core</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-web</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-oxm</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-tx</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-jdbc</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-webmvc</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-context</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-context-support</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-aop</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.springframework</groupId>
-
<artifactId>spring-test</artifactId>
-
<version>${spring.version}</version>
-
</dependency>
-
<!-- 新增mybatis依賴 -->
-
<dependency>
-
<groupId>org.mybatis</groupId>
-
<artifactId>mybatis</artifactId>
-
<version>${mybatis.version}</version>
-
</dependency>
-
<!-- 新增mybatis/spring整合包依賴 -->
-
<dependency>
-
<groupId>org.mybatis</groupId>
-
<artifactId>mybatis-spring</artifactId>
-
<version>1.2.2</version>
-
</dependency>
-
<!-- 新增mysql驅動依賴 -->
-
<dependency>
-
<groupId>mysql</groupId>
-
<artifactId>mysql-connector-java</artifactId>
-
<version>${mysql-driver.version}</version>
-
</dependency>
-
<!-- 新增資料庫連線池依賴 -->
-
<dependency>
-
<groupId>commons-dbcp</groupId>
-
<artifactId>commons-dbcp</artifactId>
-
<version>1.2.2</version>
-
</dependency>
-
<!-- 新增fastjson -->
-
<dependency>
-
<groupId>com.alibaba</groupId>
-
<artifactId>fastjson</artifactId>
-
<version>1.1.41</version>
-
</dependency>
-
<!-- 新增日誌相關jar包 -->
-
<dependency>
-
<groupId>log4j</groupId>
-
<artifactId>log4j</artifactId>
-
<version>${log4j.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.slf4j</groupId>
-
<artifactId>slf4j-api</artifactId>
-
<version>${slf4j.version}</version>
-
</dependency>
-
<dependency>
-
<groupId>org.slf4j</groupId>
-
<artifactId>slf4j-log4j12</artifactId>
-
<version>${slf4j.version}</version>
-
</dependency>
-
<!-- log end -->
-
<!-- 映入JSON -->
-
<dependency>
-
<groupId>org.codehaus.jackson</groupId>
-
<artifactId>jackson-mapper-asl</artifactId>
-
<version>1.9.13</version>
-
</dependency>
-
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-core -->
-
<dependency>
-
<groupId>com.fasterxml.jackson.core</groupId>
-
<artifactId>jackson-core</artifactId>
-
<version>2.8.0</version>
-
</dependency>
-
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
-
<dependency>
-
<groupId>com.fasterxml.jackson.core</groupId>
-
<artifactId>jackson-databind</artifactId>
-
<version>2.8.0</version>
-
</dependency>
-
<dependency>
-
<groupId>commons-fileupload</groupId>
-
<artifactId>commons-fileupload</artifactId>
-
<version>1.3.1</version>
-
</dependency>
-
<dependency>
-
<groupId>commons-io</groupId>
-
<artifactId>commons-io</artifactId>
-
<version>2.4</version>
-
</dependency>
-
<dependency>
-
<groupId>commons-codec</groupId>
-
<artifactId>commons-codec</artifactId>
-
<version>1.9</version>
-
</dependency>
-
</dependencies>
-
<build>
-
<finalName>web-bian</finalName>
-
</build>
-
</project>
設定成功
(4) spring配置檔案設定:
4.1 jdbc.properties配置:
-
driverClasss=com.mysql.jdbc.Driver
-
jdbcUrl=jdbc:mysql://192.168.1.102:3306/netInfoPlatform?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull
-
username=root
-
password=123456
-
#定義初始連線數
-
initialSize=0
-
#定義最大連線數
-
maxActive=20
-
#定義最大空閒
-
maxIdle=20
-
#定義最小空閒
-
minIdle=1
-
#定義最長等待時間
-
maxWait=60000
4.2 log4j.properties配置:
-
log4j.rootLogger=INFO,Console,File
-
#控制檯日誌
-
log4j.appender.Console=org.apache.log4j.ConsoleAppender
-
log4j.appender.Console.Target=System.out
-
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
-
log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
-
#普通檔案日誌
-
log4j.appender.File=org.apache.log4j.RollingFileAppender
-
log4j.appender.File.File=logs/ssm.log
-
log4j.appender.File.MaxFileSize=10MB
-
#輸出日誌,如果換成DEBUG表示輸出DEBUG以上級別日誌
-
log4j.appender.File.Threshold=ALL
-
log4j.appender.File.layout=org.apache.log4j.PatternLayout
-
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
4.3 spring-mvc配置:
-
<?xml version="1.0" encoding="UTF-8"?>
-
<beans xmlns="http://www.springframework.org/schema/beans"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
-
xmlns:context="http://www.springframework.org/schema/context"
-
xmlns:mvc="http://www.springframework.org/schema/mvc"
-
xsi:schemaLocation="http://www.springframework.org/schema/beans
-
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
-
http://www.springframework.org/schema/context
-
http://www.springframework.org/schema/context/spring-context-4.0.xsd
-
http://www.springframework.org/schema/mvc
-
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
-
<!-- 自動掃描 @Controller-->
-
<context:component-scan base-package="com.fzu.edu.controller"/>
-
<!--避免IE執行AJAX時,返回JSON出現下載檔案 -->
-
<bean id="mappingJacksonHttpMessageConverter"
-
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
-
<property name="supportedMediaTypes">
-
<list>
-
<value>text/html;charset=UTF-8</value>
-
</list>
-
</property>
-
</bean>
-
<!-- 啟動SpringMVC的註解功能,完成請求和註解POJO的對映 -->
-
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
-
<property name="messageConverters">
-
<list>
-
<ref bean="mappingJacksonHttpMessageConverter"/> <!-- JSON轉換器 -->
-
</list>
-
</property>
-
</bean>
-
<!-- 定義跳轉的檔案的前後綴 ,檢視模式配置 -->
-
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
-
<property name="prefix" value="/WEB-INF/jsp/" />
-
<property name="suffix" value=".jsp"/>
-
</bean>
-
<!-- 檔案上傳配置 -->
-
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
-
<!-- 預設編碼 -->
-
<property name="defaultEncoding" value="UTF-8"/>
-
<!-- 上傳檔案大小限制為31M,31*1024*1024 -->
-
<property name="maxUploadSize" value="32505856"/>
-
<!-- 記憶體中的最大值 -->
-
<property name="maxInMemorySize" value="4096"/>
-
</bean>
-
</beans>
4.4 spring-mybatis配置:
-
<?xml version="1.0" encoding="UTF-8"?>
-
<beans xmlns="http://www.springframework.org/schema/beans"
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-
xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"
-
xsi:schemaLocation="http://www.springframework.org/schema/beans
-
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
-
http://www.springframework.org/schema/context
-
http://www.springframework.org/schema/context/spring-context-3.1.xsd
-
http://www.springframework.org/schema/tx
-
http://www.springframework.org/schema/tx/spring-tx.xsd">
-
<!-- 自動掃描 -->
-
<context:component-scan base-package="com.fzu.edu"/>
-
<!-- 第一種方式:載入一個properties檔案 -->
-
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
-
<property name="location" value="classpath:jdbc.properties"/>
-
</bean>
-
<!-- 第二種方式:載入多個properties檔案
-
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
-
<property name="locations">
-
<list>
-
<value>classpath:jdbc.properties</value>
-
<value>classpath:common.properties</value>
-
</list>
-
</property>
-
<property name="fileEncoding" value="UTF-8"/>
-
</bean>
-
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
-
<property name="properties" ref="configProperties"/>
-
</bean>
-
-->
-
<!-- 配置資料來源 -->
-
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
-
destroy-method="close">
-
<property name="driverClassName" value="${driverClasss}"/>
-
<property name="url" value="${jdbcUrl}"/>
-
<property name="username" value="${username}"/>
-
<property name="password" value="${password}"/>
-
<!-- 初始化連線大小 -->
-
<property name="initialSize" value="${initialSize}"></property>
-
<!-- 連線池最大數量 -->
-
<property name="maxActive" value="${maxActive}"></property>
-
<!-- 連線池最大空閒 -->
-
<property name="maxIdle" value="${maxIdle}"></property>
-
<!-- 連線池最小空閒 -->
-
<property name="minIdle" value="${minIdle}"></property>
-
<!-- 獲取連線最大等待時間 -->
-
<property name="maxWait" value="${maxWait}"></property>
-
</bean>
-
<!-- mybatis和spring完美整合,不需要mybatis的配置對映檔案 -->
-
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
-
<property name="dataSource" ref="dataSource"/>
-
<!-- 自動掃描mapping.xml檔案 -->
-
<property name="mapperLocations" value="classpath:mapping/*.xml"></property>
-
</bean>
-
<!-- DAO介面所在包名,Spring會自動查詢其下的類 -->
-
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
-
<property name="basePackage" value="com.fzu.edu.dao"/>
-
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
-
</bean>
-
<!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->
-
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
-
<property name="dataSource" ref="dataSource"/>
-
</bean>
-
<!-- (事務管理)transaction manager, use JtaTransactionManager for global tx -->
-
<tx:annotation-driven transaction-manager="transactionManager"/>
-
</beans>
(5) MVC框架設定
5.1 M層:用於放類比如User類
5.2 Dao層:是連結資料庫的介面層
5.3 Service層:是控制層與Dao層之間的橋樑,主要用於邏輯的編寫
5.4 控制層:是前段與後臺的連線口
(6) jdk設定
(7) tomcat設定
(8) 資料庫設定:本案例以mysql為例
mysql搭建過程:自行百度
參考部落格 https://blog.csdn.net/qq_29976261/article/details/80541033