微网站建设公司首选,免费制作app的软件下载,怎样给网站做seo优化,网站如何开发触屏版前言
简单介绍 Spring Boot 中常见的配置文件类型#xff0c;如 application.properties 和 application.yml 等#xff0c;并说明它们各自的特点和用途。 一、前期准备
1、新建项目#xff0c;结构如下 2、添加依赖
?xml version1.0 encodingUTF…前言
简单介绍 Spring Boot 中常见的配置文件类型如 application.properties 和 application.yml 等并说明它们各自的特点和用途。 一、前期准备
1、新建项目结构如下 2、添加依赖
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.17/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdedu.nf/groupIdartifactIdch02/artifactIdversion0.0.1-SNAPSHOT/versionnamech02/namedescriptionch02/descriptionpropertiesjava.version11/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationimagebuilderpaketobuildpacks/builder-jammy-base:latest/builder/image/configuration/plugin/plugins/build/project这是一个 Maven 的 pom.xml 文件它描述了一个 Spring Boot 项目的依赖关系和构建方式。 在这个文件中我们定义了两个依赖项 spring-boot-starter这是一个 Spring Boot 的核心依赖它包含了 Spring MVC、Spring Data JPA、Spring Security 等常用模块并且自动配置了这些模块所需的环境。通过引入这个依赖我们可以快速搭建一个基于 Spring Boot 的 Web 应用程序。 spring-boot-starter-test这是一个 Spring Boot 的测试依赖它提供了许多用于测试的工具和框架例如 JUnit、Mockito、Hamcrest 等。通过引入这个依赖我们可以轻松地编写和执行单元测试和集成测试。 此外我们还定义了一个 Maven 插件 spring-boot-maven-plugin用于将应用程序打包成一个可执行的 JAR 文件以便于部署和运行。在这个插件中我们还可以配置容器、端口等参数以满足不同的应用程序需求。 总之pom.xml 文件是 Spring Boot 项目的配置文件它定义了项目的依赖关系和构建方式并且通过 Maven 插件实现了对应用程序的打包和部署 3、新建一个 DemService 类 Service
public class DemService {private final static Logger log LoggerFactory.getLogger(DemService.class);public void add(){log.info(日志记录...);}}这是一个简单的 DemService 类的示例它使用了 Spring 的 Service 注解来标记这个类是一个服务组件。 在这个类中我们定义了一个静态的 Logger 对象 log用于记录日志。这个对象是通过 LoggerFactory.getLogger() 方法获取的其中传入的参数是 DemService.class表示要获取该类的日志记录器。 接下来我们定义了一个名为 add() 的方法用于执行一些逻辑操作。在这个方法中我们通过 log.info() 方法记录了一条日志信息使用了 info 级别的日志级别。日志级别可以根据需要进行调整常见的级别包括 debug、info、warn、error 等。 通过使用 Service 注解Spring 会自动将 DemService 类识别为一个服务组件并将其加入到应用程序的 IOC 容器中。这样在其他需要使用 DemService 的地方可以直接通过依赖注入的方式获取到 DemService 的实例并调用其中的方法。 总之DemService 类是一个示例的服务组件它使用了日志记录功能并通过 Service 注解将其纳入到 Spring 的 IOC 容器中以便在其他地方进行使用。 二、配置application.properties
# 设置控制台日志输出格式
logging.pattern.console %d{yyy-MM-dd HH:mm:ss} [%t] %-5p %C - %m%n
# 设置文件日志的输出格式
logging.pattern.file %d{yyy-MM-dd HH:mm:ss} [%t] %-5p %C - %m%n
# 设置日志文件的名称以及保存的位置
logging.file.name logs/test.log
# 设置日志的默认输出级别
logging.level.root info
# 设置滚动日志默认的滚动策略是文件大小结合日期进行滚动
# ${LOG_FILE} 引用 springboot 默认文件输出位置
logging.logback.rollingpolicy.file-name-pattern ${LOG_FILE} .%d{yyy-MM-dd}.%i.log
# 设置滚动日志的大小默认10mb
logging.logback.rollingpolicy.max-file-size 20MB
# 保留滚动日志的历史天数默认只保存近7天的日志文件
logging.logback.rollingpolicy.max-history 30
# 一直保持彩色日志例如在单元测试中输出的日志
spring.output.ansi.enabled always 这是一个Spring Boot项目的日志配置文件包括控制台输出格式、文件输出格式、日志文件名称和位置、默认输出级别、滚动日志等。其中%d{yyy-MM-dd HH:mm:ss}表示日期时间格式[%t]表示线程名%-5p表示日志级别%C表示类名%m表示日志消息%n表示换行符。logging.logback.rollingpolicy.file-name-pattern指定了滚动日志文件名的格式%d{yyy-MM-dd}表示日期格式%i表示当前日志文件的索引号从0开始。logging.logback.rollingpolicy.max-file-size设置单个日志文件的最大大小logging.logback.rollingpolicy.max-history设置保留的历史日志文件天数。spring.output.ansi.enabled设置彩色输出always表示一直输出彩色日志。 三、配置 application.yml
spring:output:ansi:# 一直保持彩色日志例如在单元测试中输出的日志enabled: always# 设置控制台日志输出格式
logging:pattern:console: %d{yyy-MM-dd HH:mm:ss} [%t] %-5p %C - %m%n# 设置文件日志的输出格式file: %d{yyy-MM-dd HH:mm:ss} [%t] %-5p %C - %m%n# 设置日志文件的名称以及保存的位置file:name : logs/test.log# 设置日志的默认输出级别level:root : infologback:rollingpolicy:# 设置滚动日志默认的滚动策略是文件大小结合日期进行滚动# ${LOG_FILE} 引用 springboot 默认文件输出位置file-name-pattern: ${LOG_FILE} .%d{yyy-MM-dd}.%i.log# 设置滚动日志的大小默认10mbmax-file-size: 20MB# 保留滚动日志的历史天数默认只保存近7天的日志文件max-history: 30 这是一个Spring Boot项目的日志配置文件使用yml格式。其中的内容都是上面的一样的。这里说一些要注意的点。 # yml是一种主流的资源配置文件具有缩进功能阅读性更好 # 每个父子节点使用冒号分隔赋值的节点冒号后一定要有空格 # 当赋值的节点冒号后一定要有空格 四、测试类
注意要测试这两个测试类要分开测试因为他们的功能是一样的运行的时候把其中一个名字改了不然就会冲突了。 SpringBootTest
class Ch02ApplicationTests {Autowiredprivate DemService service;Testvoid contextLoads() {service.add();}} 把 DemService 注入进来调用其的方法运行即可。
运行结果 当运行结束后会生成一个 logs 的文件用来保存我们的日志文件。
日志文件的内容如下
2023-11-21 15:22:29 [main] INFO org.springframework.boot.StartupInfoLogger - Starting Ch02ApplicationTests using Java 11.0.14 on LAPTOP-B1GJ9HN3 with PID 17664 (started by qiu in D:\作业汇总\S5\springBoot-demo\ch02)
2023-11-21 15:22:29 [main] INFO org.springframework.boot.SpringApplication - No active profile set, falling back to 1 default profile: default
2023-11-21 15:22:29 [main] INFO org.springframework.boot.StartupInfoLogger - Started Ch02ApplicationTests in 1.248 seconds (JVM running for 2.71)
2023-11-21 15:22:30 [main] INFO edu.nf.ch02.service.DemService - 日志记录...五、 application.properties 和 application.yml 的特点和区别
application.properties和application.yml是Spring Boot项目中常用的配置文件它们用于配置应用程序的属性和设置。它们的主要区别在于格式不同。
1、application.properties
application.properties是一种基于键值对key-value的配置文件格式它使用等号分隔键和值。这种配置文件格式比较简单易于阅读和编辑。可以通过在类路径下创建或修改application.properties文件来配置Spring Boot应用程序的属性。例如
server.port8080 spring.datasource.driverClassNamecom.mysql.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/mydb spring.datasource.usernameroot spring.datasource.password123456
2、application.yml
application.yml是一种基于缩进indentation的配置文件格式它使用冒号:分隔键和值。这种配置文件格式比较灵活支持多层结构和列表可以更好地组织和管理复杂的配置项。例如
server: port: 8080 spring: datasource: driverClassName: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/mydb username: root password: 123456
总之两者都是配置Spring Boot应用程序的属性和设置的文件但application.yml更适合组织和管理复杂的配置项。选择哪种格式应该根据具体的需要和个人习惯来决定。