zoukankan      html  css  js  c++  java
  • 寻找写代码感觉(二)之 Spring Boot 项目属性配置

    一、前言

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

    二、IDEA设置

    1、编码配置

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

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

    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:UsersASUS.m2
    epository</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、运行效果

    四、最后

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

    优秀不够,你是否无可替代

    软件测试交流QQ群:721256703,期待你的加入!!

    欢迎关注我的微信公众号:软件测试君


  • 相关阅读:
    Oracle 左连接、右连接、全外连接、(+)号作用
    ORA-01940:无法删除当前已链接的用户(转)
    博客正式开通
    python扫描内网存活主机(scapy与nmap模块)
    Python学习之扫描网段主机与开启端口(避坑)
    Python学习之服务器与客户端的交互
    python渗透测试编程之kali linux2的AptanaStudio3安装
    Shellcodeloader免杀过火绒
    Cracer之Waf绕过
    30 Day Challenge Day 16 | Leetcode 692. Top K Frequent Words
  • 原文地址:https://www.cnblogs.com/longronglang/p/15157307.html
Copyright © 2011-2022 走看看