1、使用ieda創建project
選擇Spring Initializr 直接next,輸入Group、Artifact、選擇語言、jdk、版本等信息,點擊next,選擇需要的jar由Maven直接生成
2、使用maven創建相關項目,此方式需要有自己創建2個文件,分別是resources包下的static、template
以上兩種方式都可以,創建完後我們簡單的springBoot就算創建完成,下面需要做必要的配置信息
1、創建application.properties文件
#服務器端口
server.port=80
#日誌級別
debug=true
#路徑上下文
server.servlet.context-path=/yoyo
#字符集
spring.banner.charset=utf-8
#關閉緩存
spring.thymeleaf.cache=false
#日期格式(web)
spring.mvc.date-format=yyyy-MM-dd
#日期格式(json解析中)
spring.jackson.date-format=yyyy-MM-DD
#配置時區(以格林爲準向東偏移8)
spring.jackson.time-zone=GMT+8
#日誌
logging.file=C:/Users/15810/Desktop/logging/logg.log
#設置日誌級別(這屬於springBoot自帶的日誌,springBoot還提供更強大的日誌接口)
#logging.level.root=info
#設置logBack日誌:只需要在resources包下面,創建logback.xml
目前市面最好用的是日誌是logBack,部署簡單快捷、日誌清晰。
只需要在template包中創建logback.xml就完美解決日誌問題
logback.xml
<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <property name="PROJECT" value="springbootdemo" /> <!--定義日誌文件的存儲地址 勿在 LogBack 的配置中使用相對路徑--> <property name="ROOT" value="d:/home/${PROJECT}/" /> <!--日誌文件最大的大小--> <property name="FILESIZE" value="50MB" /> <!--日誌文件保留天數--> <property name="MAXHISTORY" value="100" /> <timestamp key="DATETIME" datePattern="yyyy-MM-dd HH:mm:ss" /> <!-- 控制檯打印 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder charset="utf-8"> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> </appender> <!-- ERROR 輸入到文件,按日期和文件大小 --> <!-- RollingFileAppender 按照每天生成日誌文件 --> <appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="utf-8"> <!--格式化輸出:%d表示日期,%thread表示線程名,%-5level:級別從左顯示5個字符寬度%msg:日誌消息,%n是換行符--> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!--日誌文件輸出的文件名--> <fileNamePattern>${ROOT}%d/error.%i.log</fileNamePattern> <!--日誌文件保留天數--> <maxHistory>${MAXHISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!--日誌文件最大的大小--> <maxFileSize>${FILESIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!-- WARN 輸入到文件,按日期和文件大小 --> <appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="utf-8"> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${ROOT}%d/warn.%i.log</fileNamePattern> <maxHistory>${MAXHISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${FILESIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!-- INFO 輸入到文件,按日期和文件大小 --> <appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="utf-8"> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${ROOT}%d/info.%i.log</fileNamePattern> <maxHistory>${MAXHISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${FILESIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!-- DEBUG 輸入到文件,按日期和文件大小 --> <appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="utf-8"> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${ROOT}%d/debug.%i.log</fileNamePattern> <maxHistory>${MAXHISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${FILESIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!-- TRACE 輸入到文件,按日期和文件大小 --> <appender name="TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <encoder charset="utf-8"> <pattern>[%-5level] %d{${DATETIME}} [%thread] %logger{36} - %m%n </pattern> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>TRACE</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${ROOT}%d/trace.%i.log</fileNamePattern> <maxHistory>${MAXHISTORY}</maxHistory> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>${FILESIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> <!-- SQL相關日誌輸出--> <logger name="org.apache.ibatis" level="INFO" additivity="false" /> <logger name="org.mybatis.spring" level="INFO" additivity="false" /> <logger name="com.github.miemiedev.mybatis.paginator" level="INFO" additivity="false" /> <!-- Logger 根目錄 --> <!-- 日誌輸出級別 --> <root level="INFO"> <appender-ref ref="STDOUT" /> <appender-ref ref="DEBUG" /> <appender-ref ref="ERROR" /> <appender-ref ref="WARN" /> <appender-ref ref="INFO" /> <appender-ref ref="TRACE" /> </root> </configuration>