application.properties คือ ไฟล์สำหรับตั้งค่า ของโปรเจกต์ Spring Boot ครับ ในโลกของ Java Spring Boot ไฟล์นี้เปรียบเสมือน “ศูนย์บัญชาการ” ที่บอกให้แอปพลิเคชันรู้ว่าจะต้องทำงานอย่างไร เชื่อมต่อกับอะไร และใช้ค่ากำหนดไหนบ้าง
มี 2 ไฟล์
แม้จะเป็นไฟล์ชื่อเดียวกัน แต่มีหน้าที่ในวงจรการทำงาน ต่างกันครับ
- /src/main/resources/application.properties
- หน้าที่: เป็นไฟล์ต้นฉบับที่คุณเขียน code
- การแก้ไข: คุณควรแก้ไขที่ไฟล์นี้เสมอ
- /target/classes/application.properties
- หน้าที่: เป็นไฟล์ที่ถูก Build ออกมาแล้ว เตรียมนำไปรัน
- คำเตือน: อย่าแก้ไขไฟล์ในโฟลเดอร์
targetเพราะทุกครั้งที่คุณสั่งmvn cleanหรือสั่ง Build ใหม่ ไฟล์ในนี้จะถูกลบและเขียนทับด้วยไฟล์จากsrcเสมอ
ทำไมต้องมีไฟล์นี้ ?
แทนที่เราจะเขียน Username, Password หรือ Port ไว้ในตัว Code ซึ่งอันตรายและแก้ไขยาก เราจะเอามาวางไว้ในไฟล์นี้แทน เพื่อความสะดวกในด้านต่าง ๆ
- การเชื่อมต่อ Database: อย่างที่คุณตั้งค่า SQL Server ไว้
- การกำหนด Port: เช่น
server.port=8081 - การจัดการ Log: กำหนดระดับความละเอียดในการแสดง Error
- การแยก Environment: คุณสามารถสร้าง
application-dev.propertiesสำหรับพัฒนา และapplication-prod.propertiesสำหรับใช้งานจริงได้
ตัวอย่างการใช้งาน
application.properties
คุณควรนำค่าจาก Docker Compose มาใส่ในไฟล์ที่อยู่ใน src/main/resources/ ดังนี้
/src/main/resources/application.properties
Plain Text
# ตั้งค่า Server Port
server.port=8080 # ตั้งค่าการเชื่อมต่อ SQL Server (Docker) spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=master;encrypt=true;trustServerCertificate=true
spring.datasource.username=sa
spring.datasource.password=4w2e36jqg6mG # ตั้งค่า Hibernate ให้สร้าง Table อัตโนมัติ
spring.jpa.hibernate.ddl-auto=update