spring boot搭建及常用配置

在idea中搭建spring boot及相关小知识 https://blog.csdn.net/vigoss77/article/details/81590671

===============================

spring boot 需要引用的依赖项:

spring-boot-starter-parent  // 所有Spring Boot组件的基础引用

spring-boot-starter-web  // 对SB应用提供Web的支持

spring-boot-starter-thymeleaf(可选)  // 提供thymeleaf模板引擎的支持

spring-boot-maven-plugin  // 提供SB应用打包的功能

pom.xml文件示例:

<?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.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>demo</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>



    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

 启动入口:


package com.example.demo;

//
DemoApplication:告诉spring boot 我是一个入口类,运行我就能启动SB // @SpringBootApplication:自动扫描当前com.example.demo包路径下可以被注入的类,开始初始化 // 可以扫描:@Repository @Service @Controller @Component @Entity @SpringBootApplication(scanBasePackages = "com.example") public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }

Spring中常用的配置项:

# 更改端口
server.port=80
# 是否打开调试模式
debug=true

# 类似pythn的url管理,就是一个tomcat下如果有三个webapp项目(app1,app2,app3),加上此配置后,访问app1的路径,都需要加上/app1前缀
# 一般情况下,小项目通常都是在Tomcat下部署多个webapp,通过上下文来区分
# 在集群或者大型项目中,通常我们一个Tomcat对应一个webapp,然后通过不同的端口来进行区分,比如(8080,8081,8082)
server.servlet.context-path=/app1

# 注意:UTF-8只包含了20000+个中文字符,对于生僻字显示不了
spring.http.encoding.charset=utf-8

# 开启thymeleaf缓存(默认是开启缓存的)
# 当你更改html文件内容的时候,刷新页面,是不会更新内容的
# 如果关闭页面缓存,这里有个大坑,是因为少了一个设置
# 设置(IntelliJ IDEA):file->settings->Build,Execution,Deployment->Compiler,勾选Build project automatically
spring.thymeleaf.cache=false

spring.mvc.date-format=yyyy-MM-dd
# 设置JSON 日期序列化格式,北京时间相对伦敦有8个小时时差,所以使用GTM+8
spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyy-MM-dd HH:mm:ss SSS

日期示例:

    @RequestMapping("/date")
    @ResponseBody  // 返回json数据
    public Date out(Date sdate){
        return sdate;
    }

http://localhost:8080/app1/date?sdate=2009-11-22

返回:"2009-11-21T16:00:00.000+0000"

可以发现,返回的时间是少8个小时,并且,T是什么鬼?

设置:

spring.jackson.time-zone=GMT+8
spring.jackson.date-format=yyy-MM-dd HH:mm:ss SSS
现在返回:"2009-11-22 00:00:00 000"

 

posted @ 2018-12-23 14:22  静静别跑  阅读(222)  评论(0编辑  收藏  举报