Java的application.yml文件的配置全過程
在 Java 項(xiàng)目中,application.yml 文件常用于配置各種應(yīng)用程序?qū)傩?,尤其是在使?Spring Boot 框架時(shí)。
1.1 基本配置
server:
port: 8080 # 設(shè)置應(yīng)用的端口號
spring:
application:
name: my-app # 設(shè)置應(yīng)用的名稱,一般與項(xiàng)目名稱一致1.2 配置數(shù)據(jù)源
假設(shè)你要配置一個(gè) MySQL 數(shù)據(jù)源,常用的配置如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/mydatabase?useSSL=false&serverTimezone=UTC # 數(shù)據(jù)庫URL
username: root # 數(shù)據(jù)庫用戶名
password: mypassword # 數(shù)據(jù)庫密碼
driver-class-name: com.mysql.cj.jdbc.Driver # JDBC驅(qū)動類名1.3 配置連接池
配置數(shù)據(jù)庫 HikariCP 連接池(Spring Boot 默認(rèn)的連接池):
spring:
datasource:
hikari:
maximum-pool-size: 10 # 最大連接池大小
minimum-idle: 5 # 最小空閑連接數(shù)
idle-timeout: 30000 # 連接空閑時(shí)間(毫秒)
connection-timeout: 20000 # 連接超時(shí)時(shí)間(毫秒)
max-lifetime: 1800000 # 連接最大生命周期(毫秒)1.4 MyBatis 配置
MyBatis 是一個(gè)優(yōu)秀的持久層框架,支持定制化 SQL、存儲過程以及高級映射。
配置:mapper-locations: classpath:mapper/*.xml
就可以把xml文件放在 resource/mapper包下
配置:type-aliases-package: com.example.demo.model
問題:可以看到resultType每次都要配置好長的全類名。
<select id="getUser" resultType="com.wiener.study.pojo.User" parameterType="int"> </select>
項(xiàng)目啟動的時(shí)候,mybatis會自動掃描指定包及其子包下的所有實(shí)體類并將別名裝配到上下文中,默認(rèn)別名是類名和類名首字母小寫。
例如,項(xiàng)目包含多個(gè)模塊,每個(gè)模塊(例如 study)都有自己的pojo,掃描多個(gè)包可以只寫到模塊的父級目錄:
mybatis:
type-aliases-package: com.wiener.demo # 具體到模塊study所在的父級目錄類User為com.wiener.study.pojo包下的實(shí)體類,這里使用別名user即可。在上述配置的基礎(chǔ)上,還可以通過在實(shí)體類上加入@Alias注解來進(jìn)一步設(shè)置別名:
// 自定義實(shí)體類別名
@Alias("userMsg")
public class User implements Serializable {
//實(shí)現(xiàn)serializable接口
private static final long serialVersionUID = -2241172936329900646L;
private String id;
private String password;
private String name;
}此時(shí),User類的別名被重定義為userMsg,select語句更新如下:
<select id="getUser" resultType="userMsg" parameterType="int"> </select>
mybatis:
mapper-locations: classpath:mapper/*.xml # Mapper XML 文件的位置
type-aliases-package: com.example.demo.model # 別名包路徑
configuration:
map-underscore-to-camel-case: true # 開啟駝峰命名自動映射
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 開啟SQL日志1.5 MyBatis-Plus 配置
MyBatis-Plus 是 MyBatis 的增強(qiáng)工具,提供了更多的功能,如 CRUD 操作、分頁、SQL 注入器等。
mybatis-plus:
mapper-locations: "classpath*:/mapper/**/*.xml" # Mapper.xml文件地址,當(dāng)前這個(gè)是默認(rèn)值。
type-aliases-package: com.example.demo.model # 別名包路徑
global-config:
db-config:
logic-delete-field: deleted # 邏輯刪除字段名稱
logic-delete-value: 1 # 邏輯刪除值
logic-not-delete-value: 0 # 邏輯未刪除值
configuration:
map-underscore-to-camel-case: true # 開啟駝峰命名自動映射1.6 Redis 配置
Redis 是一個(gè)高性能的 key-value 存儲系統(tǒng),常用于緩存、消息隊(duì)列等場景。
spring:
redis:
host: localhost # Redis 服務(wù)器地址
port: 6379 # Redis 服務(wù)器端口
password: mypassword # Redis 密碼
database: 0 # 使用的數(shù)據(jù)庫索引
timeout: 2000 # 連接超時(shí)時(shí)間(毫秒)
lettuce:
pool:
max-active: 8 # 連接池最大連接數(shù)
max-wait: -1 # 連接池最大阻塞等待時(shí)間(負(fù)數(shù)表示不限制)
max-idle: 8 # 連接池中的最大空閑連接
min-idle: 0 # 連接池中的最小空閑連接總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- JAVA系統(tǒng)中Spring?Boot應(yīng)用程序的配置文件application.yml使用詳解
- Java Spring ApplicationEvent 代碼示例解析
- java:無法訪問org.springframework.boot.SpringApplication
- Java調(diào)用參數(shù)類型是application/x-www-form-urlencoded的API問題
- javax.management.InvalidApplicationException的問題解決
- java:無法訪問org.springframework.boot.SpringApplication問題
相關(guān)文章
idea的spring boot項(xiàng)目實(shí)現(xiàn)更改端口號操作
這篇文章主要介紹了idea的spring boot項(xiàng)目實(shí)現(xiàn)更改端口號操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡排序(動力節(jié)點(diǎn)Java學(xué)院整理)
冒泡排序(Bubble Sort)是一種簡單的排序算法。本文重點(diǎn)給大家介紹java數(shù)據(jù)結(jié)構(gòu)和算法之冒泡排序,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧2017-04-04
Mybatis中 mapper-locations和@MapperScan的作用
這篇文章主要介紹了Mybatis中 mapper-locations和@MapperScan的作用,mybatis.mapper-locations在SpringBoot配置文件中使用,作用是掃描Mapper接口對應(yīng)的XML文件,需要的朋友可以參考下2023-05-05
Java.lang.Long.parseLong()方法詳解及示例
這個(gè)java.lang.Long.parseLong(String s) 方法解析字符串參數(shù)s作為有符號十進(jìn)制長,下面這篇文章主要給大家介紹了關(guān)于Java.lang.Long.parseLong()方法詳解及示例的相關(guān)資料,需要的朋友可以參考下2023-01-01
一文帶你掌握springBoot如何做到優(yōu)雅停機(jī)的
在分布式系統(tǒng)中,服務(wù)的優(yōu)雅停機(jī)(Graceful Shutdown)是確保業(yè)務(wù)連續(xù)性的重要機(jī)制,下面就跟隨小編一起來深入了解下springBoot實(shí)現(xiàn)優(yōu)雅停機(jī)的具體方式吧2025-04-04

