搭建一个简易的springboot-maven项目

2 篇文章 0 订阅

使用工具——eclipse 4.11

搭建一个基础项目

直接用工具创建一个maven项目,得到一个纯净的maven项目
在这里插入图片描述
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.ny224</groupId>
  <artifactId>testMavenWeb</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>testMavenWeb Maven Webapp</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <build>
    <finalName>testMavenWeb</finalName>
  </build>
</project>

之后在pom中添加一些常用依赖包,这是添加后的pom文件配置

<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.ny224</groupId>
	<artifactId>testMavenWeb</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>testMavenWeb</name>
	<url>http://maven.apache.org</url>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<!-- 项目的基本属性配置 -->
	<properties>
		<!-- 编码格式 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<!--启动类 -->
		<start-class>testMavenWeb.App</start-class>
	</properties>

	<dependencies>
		<!-- 测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<!--新增:web应用基本环境配置 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--新增:常用配置 -->
		<!--Tomcat支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<!--scope的值:详细见下方备注2 -->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--使用JSP必要依赖 -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		<!--JSP标签库 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<!--Spring aop支持:面向切面编程 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
		</dependency>
		<!--事务控制Trancactions -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
		</dependency>
		<!--对象关系映射 形成orm框架 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
		</dependency>
		<!--jdbc支持 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>
		<!--json支持 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.3</version>
		</dependency>
		<!-- json -->
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.2.3</version>
			<classifier>jdk13</classifier>
		</dependency>	
		<!-- 热部署 -->
		<dependency>
        	<groupId>org.springframework.boot</groupId>
        	<artifactId>spring-boot-devtools</artifactId>
        	<optional>true</optional>
		</dependency>	

	</dependencies>

	<!--构建设置,主要包含两个部分:plugins设置构建的插件和resources排除或者删除资源文件 -->
	<build>
		<finalName>testMavenWeb</finalName>
		<!--使用的插件列表 此处直接用父项目的plugins -->
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>			
		</plugins>
		<!--项目相关的所有资源路径列表,例如和项目相关的配置文件、属性文件,这些资源被包含在最终的打包文件里。 -->
        <resources>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
                <includes>
                    <include>*</include>
                </includes>
            </resource>
        </resources>
	</build>

</project>

现在的项目目录结构应该是这样的
在这里插入图片描述
下面来创建上图中的application.yml,与TestController.java文件
application.yml:

server:
  port: 12345			##端口号
  servlet:
  context-path: /myTest	##url项目名
  tomcat:
    uri-encoding: UTF-8

注意该文件为路径,默认设置下,只能以这个名字(application.yml)放在这个路径下被识别。

TestController.java:

import java.util.HashMap;
import java.util.Map;

import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import net.sf.json.JSON;
import net.sf.json.JSONObject;

@RestController
@EnableAutoConfiguration
@RequestMapping("/test")
public class TestController {
	//http://localhost:12345/myTest/test/testMethod
	@RequestMapping("/testMethod")
	public JSON testMethod() {
		System.out.println("12345");
		Map res = new HashMap();
		res.put("data", 321);
		return JSONObject.fromObject(res);
	}
	//http://localhost:12345/myTest/test/testMethod2
	@RequestMapping("/testMethod2")
	public String testMethod2() {
		return "123";
	}
	//http://localhost:12345/myTest/test/testMethod3?param1=aaa
	@RequestMapping("/testMethod3")
	public String testMethod3(String param1) {
		System.out.println(param1);
		return param1;
	}
	//http://localhost:12345/myTest/test/testMethod4?alias_name=aaa
	@RequestMapping("/testMethod4")
	public String testMethod4(@RequestParam(required = false, defaultValue = "default_value", value = "alias_name") String param1) {
		//required 是否必选;  defaultValue 默认值; value 别名
		System.out.println(param1);
		return param1;
	}
	//访问页面
	@RequestMapping("/testView")
	public ModelAndView testView(String param1, ModelAndView model) {
		System.out.println(555);
		model.addObject("p1", "pp1");
		model.setViewName("/test/Test.html");
		return model;
	}
	
}

上面的是最基本的web项目搭建,下面开始加一些插件

spring集成thymeleaf模板引擎

引入依赖

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>4.3.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>4.3.8.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>3.0.11.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring4</artifactId>
            <version>3.0.11.RELEASE</version>
        </dependency>

加入如下配置

spring:
  thymeleaf:
    prefix: classpath:/templates/	##资源文件路径
    suffix: .html
    mode: LEGACYHTML5
    encoding: UTF-8
    content-type: text/html
    cache: false

java代码

	@RequestMapping("/testTemplateView")
	public ModelAndView testTemplateView(String param1, ModelAndView model) {
		model.addObject("msg", "<b>AAA</b>");
		model.setViewName("tm/Test.html"); 
		return model;
	}

编写Test.html
注意目录结构
在这里插入图片描述
Test.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>thymeleaf</title>
</head>
<body>
<h1 th:text="${msg}"></h1><div>
[[${msg}]]___[(${msg})]
</body>
    <script th:inline="javascript">
    	var str = '<sfsdf [[${msg}]]>';
    	var str2 = "<sfsdf [(${msg})]>";
    </script>
</html>

在经过thymeleaf渲染后,实际输出的文档源代码为


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>thymeleaf</title>
</head>
<body>
<h1>&lt;b&gt;AAA&lt;/b&gt;</h1><div>
&lt;b&gt;AAA&lt;/b&gt;___<b>AAA</b>
</body>
    <script>
    	var str = '<sfsdf "<b>AAA<\/b>">';
    	var str2 = "<sfsdf <b>AAA</b>>";
    </script>
</html>

页面效果
在这里插入图片描述

记录一个调试时遇到的问题:找不到资源文件,有可能是templates文件夹未加入资源文件夹中(source folders)

前端访问静态资源

静态资源默认的根目录是在
/src/main/resources/static
建一个js文件用作测试
在这里插入图片描述
在html中,传统的写法要这样引用

<script src="/myTest/testJs.js" type="text/javascript" charset="utf-8"></script>

注:myTest是我的项目根路径

thymeleaf是一个模板渲染引擎,可以自动获取项目根路径。url可以写成动态的。

<script th:src="@{/testJs.js}" type="text/javascript" charset="utf-8"></script>

与上面语句等效。

设置日志级别

resources下新建application.properties文件,写入配置

logging.level.root=DEBUG

logging.level.org.springframework=OFF
logging.level.org.hibernate=OFF
logging.level.org.mybatis=OFF
logging.level.com.netflix=OFF
logging.level.org.apache=OFF
logging.level.springfox.documentation=OFF
logging.level.com.sun.jersey=OFF

集成mybatis

mybatis官网介绍:
http://mybatis.org/spring/zh/index.html
mybatis的一些配置项
https://mybatis.org/mybatis-3/configuration.html#properties
阿里druid数据源介绍博客
https://blog.csdn.net/wangmx1993328/article/details/81865153

yml中加入以下配置

spring:
  datasource:
    druid:
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/blog_temp?useSSL=false
      initial-size: 1
      min-idle: 10
      max-active: 50
      max-wait: 10000
      testWhileIdle: true
      timeBetweenEvictionRunsMillis: 60000
      testOnBorrow: false
      filters: stat,wall,log4j
mybatis:
  mapper-locations: classpath:/mapper/*/*xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    jdbcTypeForNull: VARCHAR

这些基本算是最简配置。如果想自定义日志配置,可以参考一下我写的这篇文章
https://blog.csdn.net/nayi_224/article/details/102841821

一个示例sql文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="testMavenWeb.com.nayi224.mapper.TestMapper">

    <select id="testQueryList" resultType="java.util.HashMap">
<![CDATA[
select #{data} lv 
]]>    
    </select>
    
</mapper>

接口文件

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface TestMapper {
	
	public List<Map<String, String>> testQueryList(Map<String, String> daoMap);
	
}

注入实例

	@Autowired
	private TestMapper testMapper;
引入分页插件pagehelper

mybatis配置项
https://mybatis.org/mybatis-3/zh/configuration.html
https://pagehelper.github.io/docs/howtouse/

添加引用

		<dependency>
		    <groupId>com.github.pagehelper</groupId>
		    <artifactId>pagehelper</artifactId>
		    <version>5.1.10</version>
		</dependency>

注意:这里使用的版本是5.1.10,有可能与老版本的不相兼容。

一些基础的yml配置

pagehelper:
  #helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  #params: count=countSql
使用PageHelper

使用PageHelper的静态方法进行分页

java代码

		PageHelper.startPage(2, 5);
		List<Map<String, String>> list1 = testMapper.testQueryList(null);
		System.out.println("list1 : " + list1.toString());
		System.out.println("list1 all : " + testMapper.testQueryList(null));

startPage方法的两个参数分别为页数和每页的长度

上面代码在运行后控制台输出为

Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1ab43696] was not registered for synchronization because synchronization is not active
Cache Hit Ratio [SQL_CACHE]: 0.0
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1e8bb118] will not be managed by Spring
==>  Preparing: WITH RECURSIVE tab1 (dt) AS (SELECT 1 UNION ALL SELECT t1.dt + 1 FROM tab1 t1 WHERE t1.dt < 20) SELECT count(0) FROM tab1 
==> Parameters: 
<==    Columns: count(0)
<==        Row: 20
<==      Total: 1
==>  Preparing: with recursive tab1(dt) as ( select 1 union all select t1.dt + 1 from tab1 t1 where t1.dt < 20 ) select * from tab1 LIMIT ?, ? 
==> Parameters: 5(Integer), 5(Integer)
<==    Columns: dt
<==        Row: 6
<==        Row: 7
<==        Row: 8
<==        Row: 9
<==        Row: 10
<==      Total: 5
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1ab43696]
list1 : Page{count=true, pageNum=2, pageSize=5, startRow=5, endRow=10, total=20, pages=4, reasonable=false, pageSizeZero=false}[{dt=6}, {dt=7}, {dt=8}, {dt=9}, {dt=10}]
Creating a new SqlSession
SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3ba6c3e2] was not registered for synchronization because synchronization is not active
JDBC Connection [com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl@1e8bb118] will not be managed by Spring
==>  Preparing: with recursive tab1(dt) as ( select 1 union all select t1.dt + 1 from tab1 t1 where t1.dt < 20 ) select * from tab1 
==> Parameters: 
<==    Columns: dt
<==        Row: 1
<==        Row: 2
<==        Row: 3
<==        Row: 4
<==        Row: 5
<==        Row: 6
<==        Row: 7
<==        Row: 8
<==        Row: 9
<==        Row: 10
<==        Row: 11
<==        Row: 12
<==        Row: 13
<==        Row: 14
<==        Row: 15
<==        Row: 16
<==        Row: 17
<==        Row: 18
<==        Row: 19
<==        Row: 20
<==      Total: 20
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3ba6c3e2]
list1 all : [{dt=1}, {dt=2}, {dt=3}, {dt=4}, {dt=5}, {dt=6}, {dt=7}, {dt=8}, {dt=9}, {dt=10}, {dt=11}, {dt=12}, {dt=13}, {dt=14}, {dt=15}, {dt=16}, {dt=17}, {dt=18}, {dt=19}, {dt=20}]

在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

可以看出是先对sql进行了改写,查出了count,之后再进行语句的。处理大数据量时要远优于将数据全查出的物理分页。

安全性

在对PageHelper.startPage进行设置后,紧跟着的查询语句会被分页处理,这是基于ThreadLocal实现的,也就是说,在特定情况下会出现异常。

例如下面这种代码

PageHelper.startPage(1, 10);
List<Country> list;
if(param1 != null){
    list = countryMapper.selectIf(param1);
} else {
    list = new ArrayList<Country>();
}

存在分页设置无法被消费的情况,这可能会导致出现莫名其妙的分页。建议对查询方法进行一定的封装后再使用。

获取分页信息

回过头开看之前打出的日志,返回的list的输出结果为

list1 : Page{count=true, pageNum=2, pageSize=5, startRow=5, endRow=10, total=20, pages=4, reasonable=false, pageSizeZero=false}[{dt=6}, {dt=7}, {dt=8}, {dt=9}, {dt=10}]

基本可以猜得到,mybatis框架对结果集进行了封装。它的实际返回类型为com.github.pagehelper.Page ,是一个继承了ArrayList的封装类。

如果想获取具体的分页信息,需要转型,比如获取数据总数的话

		List<Map<String, String>> list1 = testMapper.testQueryList(null);
		System.out.println(((com.github.pagehelper.Page)list1).getTotal());
使用RowBounds分页
		List<Map<String, String>> list1 = testMapper.testQueryList(null, new RowBounds(1, 10));
		System.out.println("list1 : " + list1.toString());

最后再发一个现在的配置文件

<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.ny224</groupId>
	<artifactId>testMavenWeb</artifactId>
	<packaging>war</packaging>
	<version>0.0.1-SNAPSHOT</version>
	<name>testMavenWeb</name>
	<url>http://maven.apache.org</url>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
	</parent>

	<!-- 项目的基本属性配置 -->
	<properties>
		<!-- 编码格式 -->
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<!--启动类 -->
		<start-class>testMavenWeb.App</start-class>
	</properties>

	<dependencies>
		<!-- 测试 -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>

		<!--新增:web应用基本环境配置 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<!--新增:常用配置 -->
		<!--Tomcat支持 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<!--scope的值:详细见下方备注2 -->
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
		<!--使用JSP必要依赖 -->
		<dependency>
			<groupId>org.apache.tomcat.embed</groupId>
			<artifactId>tomcat-embed-jasper</artifactId>
		</dependency>
		<!--JSP标签库 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
		</dependency>
		<!--Spring aop支持:面向切面编程 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-aop</artifactId>
		</dependency>
		<!--事务控制Trancactions -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-tx</artifactId>
		</dependency>
		<!--对象关系映射 形成orm框架 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-orm</artifactId>
		</dependency>
		<!--jdbc支持 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
		</dependency>
		<!--json支持 -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.3</version>
		</dependency>
		<!-- json -->
		<dependency>
			<groupId>net.sf.json-lib</groupId>
			<artifactId>json-lib</artifactId>
			<version>2.2.3</version>
			<classifier>jdk13</classifier>
		</dependency>
		<!-- 热部署 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-devtools</artifactId>
			<optional>true</optional>
		</dependency>

		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-web</artifactId>
			<version>4.3.8.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>4.3.8.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>3.1.0</version>
		</dependency>

		<dependency>
			<groupId>org.thymeleaf</groupId>
			<artifactId>thymeleaf</artifactId>
			<version>3.0.11.RELEASE</version>
		</dependency>
		<dependency>
			<groupId>org.thymeleaf</groupId>
			<artifactId>thymeleaf-spring4</artifactId>
			<version>3.0.11.RELEASE</version>
		</dependency>



		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>


		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid-spring-boot-starter</artifactId>
			<version>1.1.10</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>com.oracle</groupId>
			<artifactId>ojdbc14</artifactId>
			<version>10.2.0.1.0</version>
		</dependency>
		
		<dependency>
		    <groupId>com.github.pagehelper</groupId>
		    <artifactId>pagehelper</artifactId>
		    <version>5.1.10</version>
		</dependency>		

	</dependencies>

	<!--构建设置,主要包含两个部分:plugins设置构建的插件和resources排除或者删除资源文件 -->
	<build>
		<finalName>testMavenWeb</finalName>
		<!--使用的插件列表 此处直接用父项目的plugins -->
		
		<!--
    plugins在配置文件中的位置必须符合要求,否则会报错,顺序如下:
    properties?, settings?,
    typeAliases?, typeHandlers?,
    objectFactory?,objectWrapperFactory?,
    plugins?,
    environments?, databaseIdProvider?, mappers?
-->
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<!-- <version>1.5.9.RELEASE</version> -->
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

		</plugins>
		<!--项目相关的所有资源路径列表,例如和项目相关的配置文件、属性文件,这些资源被包含在最终的打包文件里。 -->
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
			</resource>
		</resources>
	</build>

</project>

yml

server:
  port: 12345			##端口
  servlet:
  context-path: /myTest	##url项目名
  tomcat:
    uri-encoding: UTF-8

spring:
  thymeleaf:
    prefix: classpath:/templates/
    suffix: .html
    mode: LEGACYHTML5
    encoding: UTF-8
    content-type: text/html
    cache: false
  datasource:
    druid:
      username: root
      password: root
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/blog_temp?useSSL=false
      initial-size: 1
      min-idle: 10
      max-active: 50
      max-wait: 10000
      testWhileIdle: true
      timeBetweenEvictionRunsMillis: 60000
      testOnBorrow: false
      filters: stat,wall,log4j
mybatis:
  mapper-locations: classpath:/mapper/*/*xml
  config-location: classpath:mybatis/mybatis-config.xml
  #configuration:
    #log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    #log-impl: org.apache.ibatis.logging.log4j.Log4jImpl
    #log-impl: testMavenWeb.log.CustomLog
    #jdbcTypeForNull: VARCHAR

pagehelper:
  #helperDialect: mysql
  reasonable: true
  supportMethodsArguments: true
  #params: count=countSql

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    version="3.0"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <display-name>web</display-name>
    <!-- 首页定义 -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    121212dsfd
    <!-- springmvc的servlet定义 -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

    <!-- 注册字符集过滤器 -->
    <filter>
        <filter-name>CharacterEncodingFilter</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>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
    
	<listener>
		<listener-class>
			org.springframework.web.util.Log4jConfigListener
		</listener-class>
	</listener>
	<context-param>
		<param-name>log4jConfigLocation</param-name>
		<param-value>classpath:log4j.xml</param-value>
	</context-param>    

</web-app>

mybatis-config.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>
	<settings>
		<setting name="jdbcTypeForNull" value="VARCHAR" />
		<setting name="logImpl" value="testMavenWeb.log.CustomLog" />
	</settings>
	<plugins>
		<!-- com.github.pagehelper为PageHelper类所在包名 -->
		<plugin interceptor="com.github.pagehelper.PageInterceptor">
			<!-- 使用下面的方式配置参数,后面会有所有的参数介绍 -->
		</plugin>
	</plugins>
</configuration>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ImportResource;

@SpringBootApplication
@ImportResource(locations={"classpath:spring.xml"})
public class App {
	
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值