IDEA配置SSM(Spring-Spring MVC-MyBatis
@[toc]
前言
本篇從安裝到配置到實現一個簡單的 API 全過程,意在教大家如何使用 IDEA 如何配置 SSM 框架,如何使用 maven 倉庫,也是我走了一些些彎路才得以成功的,所以希望記錄我步驟來幫助大家學 Java 學 Spring,一起來看看吧!
1、安裝 idea
準備的軟體有:
1.1 我們安裝一下 idea
1.2 安裝位置預設,然後選擇64位
1.3 安裝IDEA還是挺簡單,因為無論你怎麼安裝都能安裝成功,就一路下一步就行。
2、安裝 tomcat
一路下一步就可以
我們記錄一下安裝的位置:C:Program FilesApache Software FoundationTomcat 8.5
3、配置 IDEA
3.1 選外掛
3.2 如果實在不懂就全選就好,如果只開發 JAVA 開發 Spring 使用 Maven,就勾第一排橫著的三個就行。
我們先用免費的30天就好
4、開始建立工程
4.1 選擇建立新的工程
4.2 預設選了 SDK 就不用管,選擇 maven 管理,選擇
org.apache.maven.archetypes:maven-archetype-webapp
然後點選 next 即可
4.3 新建一個資料夾並起名 apidemo
4.4 新增 GroupId 和 ArtifactId
4.5 解壓 maven 倉庫記住解壓位置,然後點選 override 選擇檔案找到 maven 的 setting.xml 檔案
點選 next
選擇建立工程的檔案路徑,點選 Finish
點選 Enable Auto-Import
等待下載包,這個取決於你的網速,反正我是1、2分鐘就能下載完了。下載完之後注意左下角有個 BUILD SUCCESS,而且我們還可以看到 src 檔案下已經有基本骨架了
5、配置工程
5.1 新建幾個資料夾,先在 main 目錄下新建 java 、resources資料夾,在 webapp 裡的 WEB-INF 下新建 html 資料夾
5.2 resources 資料夾下新建 mapper 資料夾和 spring 資料夾,還是 resources 資料夾新建 jdbc.properties 檔案和 mybatis-config.xml
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/upmovie_playsys?userUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.password=123456
mybatis-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"">
<configuration>
<!-- 配置全域性屬性 -->
<settings>
<!-- 使用jdbc的getGeneratedKeys獲取資料庫自增主鍵值 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 使用列標籤替換列別名 預設:true -->
<setting name="useColumnLabel" value="true" />
<!-- 開啟駝峰命名轉換:Table{create_time} -> Entity{createTime} -->
<setting name="mapUnderscoreToCamelCase" value="true" />
</settings>
</configuration>
5.3 spring 資料夾下新建 spring-dao.xml、spring-service.xml、spring-web.xml 三個檔案
[外鏈圖片轉存失敗(img-RHYi5cgd-1568174056880)(./IDEA18.png )]
spring-web.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns=""
xmlns:xsi="" xmlns:context=""
xmlns:mvc=""
xsi:schemaLocation="
/spring-beans.xsd
/spring-context.xsd
/spring-mvc-3.2.xsd">
<!-- 配置SpringMVC -->
<!-- 1.開啟SpringMVC註解模式 -->
<mvc:annotation-driven />
<!-- 2.靜態資源預設servlet配置 (1)加入對靜態資源的處理:js,gif,png (2)允許使用"/"做整體對映 -->
<mvc:resources mapping="/resources/**" location="/resources/" />
<mvc:default-servlet-handler />
<!-- 3.定義檢視解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/html/"></property>
<property name="suffix" value=".html"></property>
</bean>
<!-- 檔案上傳解析器 -->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="defaultEncoding" value="utf-8"></property>
<!-- 1024 * 1024 * 20 = 20M -->
<property name="maxUploadSize" value="20971520"></property>
<property name="maxInMemorySize" value="20971520"></property>
</bean>
<!-- 4.掃描web相關的bean -->
<context:component-scan base-package="com.caeser.apidemo.web" />
</beans>
5.4 新建包 com 然後在 com下新建 caeser 再新建 apidemo
在該包下,新建 dao、entity、web、service 四個資料夾
修改一下專案屬性
web包下面新建 MovieController.java
MovieController.java
package com.caeser.apidemo.web;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/mv")
public class MovieController {
@RequestMapping(value = "/get", method = RequestMethod.GET)
@ResponseBody
private Map<String, Object> getMV( HttpServletRequest request){
Map<String, Object> modelMap = new HashMap<String, Object>();
modelMap.put("jobDepartmentList", "123");
return modelMap;
}
}
6、修改 web.xml
<web-app xmlns="" xmlns:xsi=""
xsi:schemaLocation="
/web-app_3_1.xsd"
version="3.1" metadata-complete="true">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Kaptcha</servlet-name>
<servlet-class>com.google.code.kaptcha.servlet.KaptchaServlet</servlet-class>
<!-- 是否有邊框 -->
<init-param>
<param-name>kaptcha.border</param-name>
<param-value>no</param-value>
</init-param>
<!-- 字型顏色 -->
<init-param>
<param-name>kaptcha.textproducer.font.color</param-name>
<param-value>red</param-value>
</init-param>
<!-- 圖片寬度 -->
<init-param>
<param-name>kaptcha.image.width</param-name>
<param-value>135</param-value>
</init-param>
<!-- 使用哪些字元生成驗證碼 -->
<init-param>
<param-name>kaptcha.textproducer.char.string</param-name>
<param-value>ACDEFHKPRSTWX345679</param-value>
</init-param>
<!-- 圖片高度 -->
<init-param>
<param-name>kaptcha.image.height</param-name>
<param-value>50</param-value>
</init-param>
<!-- 字型大小 -->
<init-param>
<param-name>kaptcha.textproducer.font.size</param-name>
<param-value>43</param-value>
</init-param>
<!-- 干擾線的顏色 -->
<init-param>
<param-name>kaptcha.noise.color</param-name>
<param-value>black</param-value>
</init-param>
<!-- 字元個數 -->
<init-param>
<param-name>kaptcha.textproducer.char.length</param-name>
<param-value>4</param-value>
</init-param>
<!-- 字型 -->
<init-param>
<param-name>kaptcha.textproducer.font.names</param-name>
<param-value>Arial</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Kaptcha</servlet-name>
<url-pattern>/Kaptcha</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>spring-dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/spring-*.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>spring-dispatcher</servlet-name>
<!-- 預設匹配所有的請求 -->
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
7、修改 pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="" xmlns:xsi=""
xsi:schemaLocation=" ">
<modelVersion>4.0.0</modelVersion>
<groupId>com.caeser</groupId>
<artifactId>apidemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>apidemo Maven Webapp</name>
<!-- FIXME change it to the project's website -->
<url></url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<spring.version>4.3.7.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.7.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
<!-- Spring -->
<!-- 1)包含Spring 框架基本的核心工具類。Spring 其它元件要都要使用到這個包裡的類,是其它元件的基本核心 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 2)這個jar 檔案是所有應用都要用到的,它包含訪問配置檔案、建立和管理bean 以及進行Inversion of Control
/ Dependency Injection(IoC/DI)操作相關的所有類。如果應用只需基本的IoC/DI 支援,引入spring-core.jar
及spring-beans.jar 檔案就可以了。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 3)這個jar 檔案為Spring 核心提供了大量擴充套件。可以找到使用Spring ApplicationContext特性時所需的全部類,JDNI
所需的全部類,instrumentation元件以及校驗Validation 方面的相關類。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 4) 這個jar 檔案包含對Spring 對JDBC 資料訪問進行封裝的所有類。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 5) 為JDBC、Hibernate、JDO、JPA等提供的一致的宣告式和程式設計式事務管理。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 6)Spring web 包含Web應用開發時,用到Spring框架時所需的核心類,包括自動載入WebApplicationContext特性的類、Struts與JSF整合類、檔案上傳的支援類、Filter類和大量工具輔助類。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 7)包含SpringMVC框架相關的所有類。 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<!-- 8)Spring test 對JUNIT等測試框架的簡單封裝 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<!-- Servlet web -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!-- json解析 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.7</version>
</dependency>
<!-- Map工具類 對標準java Collection的擴充套件 spring-core.jar需commons-collections.jar -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
</dependency>
<!-- DAO: MyBatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 資料庫 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.37</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<!-- 圖片處理 -->
<!-- -->
<dependency>
<groupId>net.coobird</groupId>
<artifactId>thumbnailator</artifactId>
<version>0.4.8</version>
</dependency>
<!-- -->
<dependency>
<groupId>com.github.penggle</groupId>
<artifactId>kaptcha</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
<build>
<finalName>apidemo</finalName>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF8</encoding>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
8、等待下載 jar 包
看你網速如何了,下載 jar 的過程其實蠻長的
9、配置 server
9.1 給 IDEA 新增 tomcat
9.2 搜尋 tom 勾選外掛
9.3 然後重啟 IDEA
然後再配置 tomcat ,File- Setting-Build,Execution,Deployment-Application Servers
一路OK即可
9.4 執行一次 mvn clean 和 mvn install
9.5 點選 Add Configuration,新增一個本地的 tomcat
10、啟動tomcat
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4686/viewspace-2824445/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用IDEA搭建SSM框架IdeaSSM框架
- 關於IDEA執行ssm專案的一些坑以及ssm的基本的配置IdeaSSM
- idea搭建簡易ssm專案IdeaSSM
- idea ssm maven專案搭建筆記IdeaSSMMaven筆記
- ssm的配置檔案SSM
- SPRING-spring註解整理Spring
- 自我救贖 → 利用 IDEA 和 Spring Boot 搭建 SSMIdeaSpring BootSSM
- SSM框架整合(配置檔案)SSM框架
- SSM衍生的配置檔案SSM
- SSM框架pom配置檔案SSM框架
- idea常用配置Idea
- idea import配置IdeaImport
- 【IDEA】常用配置Idea
- idea配置mavenIdeaMaven
- idea 配置sftpIdeaFTP
- 使用xml檔案配置SSM整合XMLSSM
- 用idea搭建SSM專案,原來這麼簡單IdeaSSM
- idea 中配置GradleIdeaGradle
- idea-maven配置IdeaMaven
- IntelliJ IDEA配置JDKIntelliJIdeaJDK
- IDEA配置環境Idea
- idea中配置MavenIdeaMaven
- IntelliJ IDEA 配置代理IntelliJIdea
- 【SSM 學習筆記 javaWeb IDEA】ssm的controller 傳ModelAndView資料 給前臺html的ajax(不用@ResponseBody)SSM筆記JavaWebIdeaControllerViewHTML
- idea怎麼配置mongodbIdeaMongoDB
- IDEA中Maven的配置IdeaMaven
- IntelliJ IDEA下.gitignore配置IntelliJIdeaGit
- idea maven怎麼安裝配置 idea maven配置教程詳細圖解IdeaMaven圖解
- SSM整合之使用配置類替換xml配置檔案(2)SSMXML
- IDEA如何配置git和githubIdeaGithub
- Idea:一個正確配置Idea
- 新版idea配置maven注意點!!IdeaMaven
- IDEA神器-常用配置(MAC版)IdeaMac
- IDEA新手常用配置手冊Idea
- Idea開啟Run DashBoard配置Idea
- IDEA中配置Git,在Github上clone專案到IDEAIdeaGithub
- 配置一個簡單的傳統SSM專案SSM
- 【從零開始 圖文詳解】IDEA整合SSM框架:Spring+SpringMVC+MybatisIdeaSSM框架SpringMVCMyBatis