如何init 一个 springboot project,包括哪些方面,例如其中之一是 配置logback

初始化一个Spring Boot项目通常包括以下几个方面:

  1. 创建项目:可以使用Spring Initializr或IDE插件来生成项目。
  2. 配置项目结构:包括创建必要的包和类。
  3. 配置依赖:通过Maven或Gradle配置项目依赖。
  4. 配置日志:通常使用Logback进行日志配置。
  5. 编写代码:包括控制器、服务、存储库等。
  6. 运行项目:通过内嵌的Tomcat服务器运行项目。

下面是详细的步骤:

1. 创建项目

使用Spring Initializr

  • 访问 Spring Initializr.
  • 选择项目选项,例如 Maven Project, Java, Spring Boot版本。
  • 添加依赖项,例如 Spring Web, Spring Data JPA, H2 Database。
  • 点击 "Generate" 下载项目结构的zip文件。
  • 解压缩并导入到你的IDE(如IntelliJ IDEA, Eclipse)。

使用IDE插件

  • 在IntelliJ IDEA中,选择 File > New > Project > Spring Initializr.
  • 选择项目选项和依赖项。
  • 点击 Finish。

2. 配置项目结构

项目创建后,项目结构通常如下:

my-spring-boot-project
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── demo
│   │   │               ├── DemoApplication.java
│   │   │               ├── controller
│   │   │               ├── service
│   │   │               └── repository
│   │   └── resources
│   │       ├── application.properties
│   │       └── logback-spring.xml
│   └── test
│       └── java
│           └── com
│               └── example
│                   └── demo
│                       └── DemoApplicationTests.java
├── pom.xml
└── README.md

3. 配置依赖

pom.xml 中配置依赖,例如:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- 日志相关依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
    </dependency>
</dependencies>

4. 配置Logback

src/main/resources 目录下创建 logback-spring.xml 文件进行日志配置:

<configuration>
    <property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n" />
    
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/spring-boot-application.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/spring-boot-application.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    
    <logger name="com.example.demo" level="DEBUG" />
    
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

5. 编写代码

创建一个简单的控制器类:

package com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}

6. 运行项目

运行 DemoApplication.java 类:

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

在浏览器中访问 http://localhost:8080/hello,应该可以看到 "Hello, World!"。

总结

初始化一个Spring Boot项目涉及从创建项目到配置依赖和日志的多项任务。这些步骤确保你拥有一个结构良好且配置完善的项目基础,能够快速开始开发并进行调试和日志记录。

posted @   gongchengship  阅读(18)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示