首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Spring Boot 從入門到實戰:零配置構建生產級微服務

     編輯:Java 綜合教學

為什麼選擇 Spring Boot?

Spring Boot 的核心價值在於 「約定優於配置」:

  • Starter 依賴:一鍵引入 Web、Data、Security 等整套兼容版本組件,告別版本衝突。
  • 自動裝配:基於類路徑條件判斷,自動創建 DataSource、EntityManager、DispatcherServlet 等 Bean。
  • 內嵌容器:打包為可執行 JAR,`java -jar` 即可運行,無需外部 Tomcat 部署。
  • 生產級監控:Actuator 提供健康檢查、指標、追蹤端點,原生支援 Prometheus/Grafana。
  • 外部化配置:YAML/Properties/環境變量/命令行參數多層覆蓋,多環境無縫切換。

五分鐘構建 Hello World

1. IDEA + STS 插件創建項目

File → New → Project → Spring Initializr → 填坐標 → 勾選 Spring Web、Lombok、Spring Boot DevTools → Finish。

2. 主啟動類

@SpringBootApplication // 組合:@Configuration + @EnableAutoConfiguration + @ComponentScan
@RestController
public class DemoApplication {
    public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); }

    @GetMapping("/")
    public String home() { return "Hello Spring Boot!"; }
}

3. application.yml 配置

server:
  port: 8080
  servlet:
    context-path: /api

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC
    username: root
    password: 123456
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true

4. 運行驗證

右鍵主類 Run As → Spring Boot App,瀏覽器訪問 https://localhost:8080/api/ 返回 Hello Spring Boot!。

進階實戰:整合 Druid 連接池

Druid 是阿里開源的高性能連接池,具備 SQL 監控、防火牆、密碼加密等企業級特性。

1. 添加依賴

<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.18</version></dependency>

2. 配置 application.yml

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      initial-size: 5
      min-idle: 5
      max-active: 20
      max-wait: 60000
      validation-query: SELECT 1
      test-on-borrow: false
      test-on-return: false
      test-while-idle: true
      time-between-eviction-runs-millis: 60000
      min-evictable-idle-time-millis: 300000
      # 監控頁面(生產環境建議關閉或加 IP 白名單)
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        login-username: admin
        login-password: admin123
      web-stat-filter:
        enabled: true
        url-pattern: /*
        exclusions: "*.js,*.gif,*.jpg,*.css,/druid/*"

3. 訪問監控

啟動後訪問 https://localhost:8080/api/druid/,登錄查看 SQL 執行統計、連接池狀態、慢查詢分析。

核心註解速查表

註解作用
@SpringBootApplication主啟動類標識,開啟自動裝配與掃描
@EnableAutoConfiguration根據 classpath 自動配置 Bean
@ConfigurationProperties(prefix="x")將配置綁定到 POJO
@ConditionalOnClass/MissingBean條件裝配,編寫 Starter 核心
@Profile("dev")環境隔離配置

常見避坑指南

  1. 端口衝突:`server.port=0` 隨機端口,或配置 `server.port=8081`。
  2. 熱部署失效:IDEA 需啟用 Build → Compile automatically + Registry → compiler.automake.allow.when.app.running。
  3. 循環依賴:構造器注入替代字段注入,或使用 @Lazy 打破環。
  4. 配置不生效:檢查 YAML 縮進、屬性名拼寫、@ConfigurationProperties prefix 是否匹配。

總結

Spring Boot 以極簡配置重新定義了 Java 企業級開發體驗。掌握 Starter 機制、自動裝配原理、Actuator 監控與外部化配置,即可快速交付可觀測、可維護的生產級微服務。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved