请选择 进入手机版 | 继续访问电脑版

Spring Boot入门基础篇

2018-10-11 09:05
1350
一:前言
spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
二:环境搭建
Spring Boot入门基础篇-1.jpg
2.1 添加依赖,添加pom.xml配置
Spring Boot入门基础篇-2.jpg
Spring Boot入门基础篇-3.jpg

2.2 创建目录和配置文件
创建 src/main/resources 源文件目录,并在该目录下创建 application.properties 文件、static 和 templates 的文件夹。
application.properties:用于配置项目运行所需的配置数据。
static:用于存放静态资源,如:css、js、图片等。
templates:用于存放模板文件。

2.3创建controller,输出一个hello world.

三:多环境切换
application.properties 是 springboot 在运行中所需要的配置信息。
当我们在开发阶段,使用自己的机器开发,测试的时候需要用的测试服务器测试,上线时使用正式环境的服务器。
这三种环境需要的配置信息都不一样,当我们切换环境运行项目时,需要手动的修改多出配置信息,非常容易出错。
为了解决上述问题,springboot 提供多环境配置的机制,让开发者非常容易的根据需求而切换不同的配置环境。
在 src/main/resources 目录下创建三个配置文件:
application-dev.properties:用于开发环境
application-test.properties:用于测试环境
application-prod.properties:用于生产环境
我们可以在这个三个配置文件中设置不同的信息,application.properties 配置公共的信息。
在 application.properties 中配置:
spring.profiles.active=dev

四:配置日志(logback)
spring boot 默认会加载 classpath:logback-spring.xml 或者 classpath:logback-spring.groovy。
如需要自定义文件名称,在 application.properties 中配置 logging.config 选项即可。
在 src/main/resources 下创建 logback-spring.xml 文件,内容如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <!-- 文件输出格式 -->
    <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" />
    <!-- test文件路径 -->
    <property name="TEST_FILE_PATH" value="d:/test.log" />
    <!-- pro文件路径 -->
    <property name="PRO_FILE_PATH" value="/opt/test/log" />

    <!-- 开发环境 -->
    <springProfile name="dev">
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
    <pattern>${PATTERN}</pattern>
    </encoder>
    </appender>
    <logger name="com.light.springboot" level="debug" />
    <root level="info">
    <appender-ref ref="CONSOLE" />
    </root>
    </springProfile>

    <!-- 测试环境 -->
    <springProfile name="test">
    <!-- 每天产生一个文件 -->
    <appender name="TEST-FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!-- 文件路径 -->
    <file>${TEST_FILE_PATH}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <!-- 文件名称 -->
    <fileNamePattern>${TEST_FILE_PATH}/info.%d{yyyy-MM-dd}.log</fileNamePattern>
    <!-- 文件最大保存历史数量 -->
    <MaxHistory>100</MaxHistory>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
    <pattern>${PATTERN}</pattern>
    </layout>
    </appender>
    <root level="info">
    <appender-ref ref="TEST-FILE" />
    </root>
    </springProfile>

    <!-- 生产环境 -->
    <springProfile name="prod">
    <appender name="PROD_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${PRO_FILE_PATH}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
    <fileNamePattern>${PRO_FILE_PATH}/warn.%d{yyyy-MM-dd}.log</fileNamePattern>
    <MaxHistory>100</MaxHistory>
    </rollingPolicy>
    <layout class="ch.qos.logback.classic.PatternLayout">
    <pattern>${PATTERN}</pattern>
    </layout>
    </appender>
    <root level="warn">
    <appender-ref ref="PROD_FILE" />
    </root>
    </springProfile>
    </configuration>
Spring Boot入门基础篇-4.jpg
其中,springProfile 标签的 name 属性对应 application.properties 中的 spring.profiles.active 的配置。
即 spring.profiles.active 的值可以看作是日志配置文件中对应的 springProfile 是否生效的开关。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翁笔

© 2001-2018 Wengbi.com

返回顶部