寻找写代码感觉(二)之 Spring Boot 项目属性配置

时间:2023-03-08 20:17:12
寻找写代码感觉(二)之 Spring Boot  项目属性配置

一、前言

写代码就和恋爱一样,有反馈就要趁热打铁,搞完了项目搭建,接下来就来搞搞项目配置。

二、IDEA设置

1、编码配置

这里所说的就是代码的编码格式,你可以不设置,但是可能要面临的是,很多未知的麻烦,比如乱码是很坑的呀(真的谁遇见,谁知道,恶心的一批)。

单击 File -> Settings, 搜索框输入 encoding ,编码格式都设置成UTF-8

寻找写代码感觉(二)之 Spring Boot  项目属性配置

2、JDK配置

此处略...

3、Maven配置

单击 File -> Settings, 搜索框输入 maven ,选择自己的私服仓库settings.xml

settings.xml 示例如下:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>C:\Users\ASUS\.m2\repository</localRepository> <pluginGroups>
</pluginGroups>
<proxies>
</proxies>
<servers>
</servers> <mirrors>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central</url>
</mirror> <mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror> <mirror>
<id>central</id>
<name>Maven Repository Switchboard</name>
<url>http://repo1.maven.org/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror> <mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2</url>
</mirror> <mirror>
<id>ibiblio</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2</url>
</mirror> <mirror>
<id>jboss-public-repository-group</id>
<mirrorOf>central</mirrorOf>
<name>JBoss Public Repository Group</name>
<url>http://repository.jboss.org/nexus/content/groups/public</url>
</mirror> <mirror>
<id>google-maven-central</id>
<name>Google Maven Central</name>
<url>https://maven-central.storage.googleapis.com
</url>
<mirrorOf>central</mirrorOf>
</mirror> <!-- *仓库在中国的镜像 -->
<mirror>
<id>maven.net.cn</id>
<name>one of the central mirrors in china</name>
<url>http://maven.net.cn/content/groups/public</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors> <profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
<profile>
<id>repository_set</id>
<repositories>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>public</id>
<name>Public Repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>public</id>
<name>Public Repository</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</pluginRepository>
</pluginRepositories>
</profile> </profiles> </settings>

4、Git配置

此处略...

5、修改端口

main/resources/application.properties修改端口

server.port=8088

此时启动访问localhost:8088/hello 就会看到

Hello Spring Boot!

使用yml文件替换 properties 文件

  • 在main/resources 文件下新建一个application.yml 文件
  • 在yml文件中修改端口
server:
port: 8099
  • 删除掉application.properties文件,只保留yml文件
  • 运行程序,此时访问8099端口即可

三、启动日志优化

1、自定义启动图案

在resources下新建banner.txt

在线生成文字图案:http://patorjk.com/software/taag

2、logback-spring.xml示例

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 修改一下路径-->
<property name="PATH" value="./log"></property> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %highlight(%-5level) %blue(%-50logger{50}:%-4line) %thread %msg%n</Pattern>-->
<Pattern>%d{ss.SSS} %highlight(%-5level) %blue(%-30logger{30}:%-4line) %thread %msg%n</Pattern>
</encoder>
</appender> <appender name="TRACE_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/trace.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${PATH}/trace.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern>
</layout>
</appender> <appender name="ERROR_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${PATH}/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${PATH}/error.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<layout>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %-50logger{50}:%-4line %green(%-18X{LOG_ID}) %msg%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <root level="ERROR">
<appender-ref ref="ERROR_FILE" />
</root> <root level="TRACE">
<appender-ref ref="TRACE_FILE" />
</root> <root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>

3、启动类优化

config层用于放配置类,@ComponentScan:配置要交给Spring管理的类路径,SpringBootApplication注解包含了@ComponentScan注解。

注意: 如果启动类和其它类所在的包没有包含关系的话,需要加@ComponentScan注解,扫描的路径不要太通用,比如扫描"com.xx.xx",而不是"com"(会把第三方jar里的类也扫描出来)。

示例代码如下:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan; @ComponentScan("com.xx.xx")
@SpringBootApplication
public class XXApplication { private static final Logger logger = LoggerFactory.getLogger(XXWikiApplication.class);
public static void main(String[] args) {
SpringApplication.run(WikiApplication.class, args);
logger.info("服务启动了!!");
} }

4、运行效果

寻找写代码感觉(二)之 Spring Boot  项目属性配置

四、最后

到此,关于项目搭建的配置部分搞完,有兴趣的同学可以自己动手尝试。