SpringBoot入门-1(基本介绍)

SpringBoot是由Pivotal团队提供的框架,旨在简化Spring应用的搭建和开发过程。它支持自动配置,无需WAR部署,简化Maven配置,并提供生产就绪功能。SpringBoot还具备四大核心特性:自动配置、起步依赖、命令行界面及Actuator。

写在前面的话

系列教程都是从网络上收集和本人的理解所编辑而成,仅供广大爱好者学习所用,请尊重本人的劳动成果。欢迎评论指正和转帖!(请保留连接谢谢!)


一、SpringBoot是什么?

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。


二、SpringBoot的特点?

1. 创建独立的Spring应用程序
2. 嵌入的Tomcat,无需部署WAR文件
3. 简化Maven配置
4. 自动配置Spring
5. 提供生产就绪型功能,如指标,健康检查和外部配置
6. 绝对没有代码生成和对XML没有要求配置

三、SpringBoot的四个核心?
  • 自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置

  • 起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。

  • 命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。

  • Actuator:让你能够深入运行中的Spring Boot应用程序,一套究竟。


### Logback 日志框架的集成与配置 在 Spring Boot 项目中,可以通过引入 `Logback` 来实现日志功能。Spring Boot 默认使用 `Logback` 作为日志框架,但为了更好地定制化日志输出格式、级别以及文件路径等,通常需要手动配置 `Logback`。 #### 添加依赖 如果您的项目基于 `spring-boot-starter`,则无需额外添加 `Logback` 的依赖,因为 `spring-boot-starter` 已经默认包含 `Logback`。如果您想显式声明依赖或自定义版本,可以在 `pom.xml` 文件中添加以下内容: ```xml <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> <!-- 根据需求调整版本号 --> </dependency> ``` #### 配置 Logback 文件 根据最佳实践,建议将日志配置文件命名为 `logback-spring.xml`,这样可以利用 Spring Boot 提供的特有功能[^1]。该文件应放置在 `src/main/resources` 目录下。 以下是 `logback-spring.xml` 的一个基本示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <!-- 定义日志文件的存储位置 --> <property name="LOG_HOME" value="./logs"/> <!-- 控制台输出 --> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:日志级别从左显示5个字符宽度 %logger{36}:日志记录器名称最大长度为36,%msg:日志消息,%n是换行符 --> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- 按照每天生成日志文件 --> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_HOME}/app.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- 日志文件输出的文件名 --> <fileNamePattern>${LOG_HOME}/app.%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 日志保留天数 --> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> <!-- 追加模式 --> <append>true</append> </appender> <!-- 异步日志记录 --> <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> <appender-ref ref="STDOUT"/> <appender-ref ref="FILE"/> </appender> <!-- 设置日志级别 --> <root level="info"> <appender-ref ref="ASYNC"/> </root> </configuration> ``` 此配置文件定义了两个主要的日志输出方式:控制台输出 (`STDOUT`) 和按天滚动的日志文件输出 (`FILE`)。此外,还通过 `AsyncAppender` 实现了异步日志记录,以提高性能。 #### 测试 Logback 配置 为了验证 `Logback` 是否正确配置并运行,您可以创建一个简单的测试类来触发日志输出。例如: ```java import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class LoggingTest { private static final Logger logger = LoggerFactory.getLogger(LoggingTest.class); @Test public void testLogging() { logger.info("This is an info message."); logger.error("This is an error message."); } } ``` 这段代码会在控制台和指定的日志文件中分别记录两条信息级别的日志。 #### 注意事项 - 确保 `logback-spring.xml` 文件的位置正确,并且没有语法错误。 - 如果您打算将日志发送至远程服务器或其他目的地(如 RabbitMQ 或 Elasticsearch),则需要进一步配置相应的 appender[^2]。 - 对于生产环境,建议关闭调试日志,并适当调整日志级别以减少日志量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值