日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Maven 创建 Spring、SpringMVC、Mybatis(SSM)项目

發(fā)布時(shí)間:2023/12/14 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Maven 创建 Spring、SpringMVC、Mybatis(SSM)项目 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

創(chuàng)建maven SSM項(xiàng)目
包名、目錄

POM文件

<?xml version="1.0" encoding="UTF-8"?> <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/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.qiuhen.m.ssm</groupId><artifactId>make</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>make Maven Webapp</name><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><spring.version>4.3.13.RELEASE</spring.version></properties><dependencies><!--Spring--><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-orm</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-mock</artifactId><version>2.0.8</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.3.5.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.3.5.RELEASE</version></dependency><!-- mybatis-spring --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency><!-- mybatis 出現(xiàn)分頁(yè)使用異常,極有可能是版本問題--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><!-- mybatis pagehelper --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>3.7.3</version></dependency><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>0.9.1</version></dependency><!--servlet、基本包--><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>3.0-alpha-1</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjrt</artifactId><version>1.8.10</version></dependency><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.10</version></dependency><dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency><dependency><groupId>dom4j</groupId><artifactId>dom4j</artifactId><version>1.6.1</version></dependency><!--mysql驅(qū)動(dòng)包--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><!--dbcp連接池--><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency><!--json、基本包--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.23</version></dependency><dependency><groupId>xml-apis</groupId><artifactId>xml-apis</artifactId><version>2.0.2</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.5</version></dependency><!-- 日志文件管理包 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.22</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.22</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- junit4 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency><!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency></dependencies><build><finalName>make</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></plugins></pluginManagement></build> </project>

引入spring、mybatis、mysql等相關(guān)jar包

Web.xml的相關(guān)配置

<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>SpringMVC</display-name><welcome-file-list><welcome-file>/WEB-INF/index.jsp</welcome-file></welcome-file-list><!-- 加載log4j --><context-param><param-name>log4jConfigLocation</param-name><param-value>classpath:config/log4j.properties</param-value></context-param><listener><listener-class>org.springframework.web.util.Log4jConfigListener</listener-class></listener><!-- 配置請(qǐng)求轉(zhuǎn)發(fā)、攔截器 --><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 初始化springmvc的配置文件 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><!-- 配置攔截規(guī)則 --><url-pattern>*.action</url-pattern> <!--后綴名自起,常用.do\.action--></servlet-mapping><!-- 配置spring監(jiān)聽器,項(xiàng)目啟動(dòng)加載spring的配置 --><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring/applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>*.action</url-pattern></filter-mapping> </web-app>

applicationContext配置文件
springs的核心配置

<?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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 加載數(shù)據(jù)庫(kù)配置文件的信息 --><context:property-placeholder location="classpath:config/db.properties"/><!-- 配置DBCP連接池 --><bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"destroy-method="close"><property name="driverClassName" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /><property name="maxActive" value="10" /><property name="maxIdle" value="5" /></bean><!-- Mybatis工廠配置,配置SqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 加載mybatis的核心配置文件 --><property name="configLocation" value="classpath:spring/mybatis.xml"></property><!-- 配置數(shù)據(jù)源 --><property name="dataSource" ref="dataSource"></property></bean><!-- Mapper動(dòng)態(tài)代理開發(fā),掃描包的形式 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><!-- 指定掃描的包 --><property name="basePackage" value="cn.qiuhen.dao"></property></bean> </beans>

Spring MVC的核心配置
springmvc.xml

<?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:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 配置Controller掃描包(相當(dāng)于Struts2中的Action),將哪些類交給spring管理 --><context:component-scan base-package="cn.qiuhen.controller"></context:component-scan><!-- 啟動(dòng)注解驅(qū)動(dòng),自動(dòng)裝配controller、service、dao --><mvc:annotation-driven></mvc:annotation-driven><!-- 掃描controller,service(controller,service層注入) --><context:component-scan base-package="cn.qiuhen.controller"/><context:component-scan base-package="cn.qiuhen.service"/><!-- 配置視圖處理器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 配置邏輯試圖的前綴 --><property name="prefix" value="/WEB-INF/jsp/"></property><!-- 配置邏輯試圖的后綴 --><property name="suffix" value=".jsp"></property></bean><!-- 啟用注解驅(qū)動(dòng),自動(dòng)裝配controller、service、dao --><mvc:annotation-driven conversion-service="customConverter"/><!-- 自定義參數(shù)類型轉(zhuǎn)換 --><bean id="customConverter" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"><!-- 定義轉(zhuǎn)換器,可以有很多轉(zhuǎn)換器 --><property name="converters"><list><!-- 可以加載很多自定義的類型轉(zhuǎn)換器 --><bean class="cn.qiuhen.conversion.String2DateConverter"></bean></list></property></bean><!--文件上傳--><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><!-- 設(shè)定文件上傳的最大值為5MB,5*1024*1024 --><property name="maxUploadSize" value="5242880"></property><!-- 設(shè)定文件上傳時(shí)寫入內(nèi)存的最大值,如果小于這個(gè)參數(shù)不會(huì)生成臨時(shí)文件,默認(rèn)為10240 --><property name="maxInMemorySize" value="40960"></property><!-- 上傳文件的臨時(shí)路徑 --><property name="uploadTempDir" value="fileUpload/temp"></property><!-- 延遲文件解析 --><property name="resolveLazily" value="true"/></bean> </beans>

Mybatis配置
Mybatis.xml

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 類型別名 (typeAliases),必須配置文件的開始部分 --><typeAliases><!-- 可以指定一個(gè)包名,mybatis會(huì)在包名下面搜索需要的javaBean, --><package name="cn.qiuhen.domain"/></typeAliases><!-- 加載映射文件 --><mappers> <!-- <package name="cn.qiuhen.dao"/>--><mapper resource="mybatis/BookMapper.xml"></mapper></mappers> </configuration>

數(shù)據(jù)庫(kù)db.properties配置

#MySQL jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/nutzwk?useUnicode=true&characterEncoding=UTF-8 jdbc.username=root jdbc.password=root#SQLServer #driver=com.microsoft.sqlserver.jdbc.SQLServerDriver #url=jdbc\:sqlserver\://localhost\:1433;DatabaseName\=test #username=autek #password=flyvideo

Log4j配置(注意:必須要配置,不然無法打印日志信息和錯(cuò)誤信息)
Log4j.properties(只是簡(jiǎn)單配置,根據(jù)自己需求修改)

# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

Pojo(示例)

Controller(示例)

Service層(示例,為求簡(jiǎn)潔沒創(chuàng)建接口,只是一個(gè)類)

dao層(示例)


dao配置文件

Jsp頁(yè)面(僅供參考)

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!--輸出,條件,迭代標(biāo)簽庫(kù)--> <%--<%@ page isELIgnored="false"%> <!--支持EL表達(dá)式,不設(shè)的話,EL表達(dá)式不會(huì)解析--> --%> <%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ path + "/"; %><html> <head><title>第一頁(yè)</title><link rel="stylesheet" href="${pageContext.request.contextPath}/static/bootstrap/css/bootstrap.min.css"><link rel="stylesheet" href="${pageContext.request.contextPath}/static/datepicker/bootstrap-datetimepicker.min.css"> </head> <script src="${pageContext.request.contextPath}/static/js/jquery-3.3.1.min.js"></script> <script src="${pageContext.request.contextPath}/static/bootstrap/js/bootstrap.js"></script> <script src="${pageContext.request.contextPath}/static/datepicker/bootstrap-datetimepicker.min.js"></script> <script src="${pageContext.request.contextPath}/static/js/bootstrap-datetimepicker.zh-CN.js"></script> <script src="${pageContext.request.contextPath}/static/kindeditor/kindeditor-all.js"></script> <script src="${pageContext.request.contextPath}/static/kindeditor/lang/zh_CN.js"></script> <script src="${pageContext.request.contextPath}/static/kindeditor/plugins/code/prettify.js" ></script> <script>KindEditor.ready(function (K) {var editor1 = K.create('textarea[name="article.content1"]', {cssPath: '${pageContext.request.contextPath}/static/kindeditor/plugins/code/prettify.css',uploadJson: '${pageContext.request.contextPath}/static/kindeditor/jsp/upload_json.jsp',fileManagerJson: '${pageContext.request.contextPath}/static/kindeditor/jsp/file_manager_json.jsp',allowFileManager: true,afterCreate: function () {var self = this;K.ctrl(document, 13, function () {self.sync();document.forms['example'].submit();});K.ctrl(self.edit.doc, 13, function () {self.sync();document.forms['example'].submit();});}});prettyPrint();}); </script><body> <%--頁(yè)面跳轉(zhuǎn)與請(qǐng)求--%> <div style="width:300px;height:150px;border: 1px solid black;"><%--點(diǎn)擊按照發(fā)送ajax請(qǐng)求--%><button id="btn">按鈕</button><%--點(diǎn)擊跳轉(zhuǎn)頁(yè)面--%><a class="btn btn-primary" href="<%=basePath%>home/index.action">dsa</a> </div> <div style="width:800px;height:150px;border: 1px solid black;"><p>日期插件:</p><div class="form-group"><label for="at" class="col-sm-2 control-label">發(fā)布時(shí)間</label><div class="col-sm-8 input-group date form_datetime " style="padding-left: 16px;padding-right: 16px;"data-date="1979-09-16T05:25:07Z" data-date-format="dd MM yyyy - HH:ii p" data-link-field="at"><input type="text" size="16" readonly class="form-control" value="" data-parsley-required="true"><span class="input-group-addon"><span class="glyphicon glyphicon-remove"></span></span><span class="input-group-addon"><span class="glyphicon glyphicon-th"></span></span></div><input type="hidden" id="at" name="at" value=""/></div> </div> <div style="width:800px;height:400px;border: 1px solid black;"><p>富文本插件:</p><div id="mainContent"><form name="example" method="post" action="article_add.action">題目:<input type="text" name="article.title"><br/>內(nèi)容:<textarea name="article.content1" cols="100" rows="8"></textarea><br/><input type="submit" name="button" value="提交"/>(提交快捷鍵: Ctrl + Enter)</form></div> </div> </body> <script>$("body").on("click", "#btn", function () {$.get("<%=basePath%>home/index.action","",function (data) {},"html");}); </script> <%--日期插件初始化--%> <script>$(document).ready(function () {$('.form_datetime').datetimepicker({language: 'zh-CN',format:'yyyy-mm-dd hh:ii:ss',weekStart: 1,todayBtn: 1,autoclose: 1,todayHighlight: 1,startView: 2,forceParse: 0,showMeridian: 1});}); </script> </html>

啟動(dòng)項(xiàng)目測(cè)試

最後要注意:如果要返回json數(shù)據(jù)
記得加配置
加入jackson架包

<properties><jackson.version>2.5.4</jackson.version></properties> <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-core</artifactId><version>${jackson.version}</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version> </dependency>

Springmvc配置轉(zhuǎn)換器

<mvc:annotation-driven><mvc:message-converters><bean class="org.springframework.http.converter.StringHttpMessageConverter"/><bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/></mvc:message-converters> </mvc:annotation-driven>

總結(jié)

以上是生活随笔為你收集整理的Maven 创建 Spring、SpringMVC、Mybatis(SSM)项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。