π™ΉπšŠπšŸπšŠ/πš‚πš™πš›πš’πš—πš π™±πš˜πš˜πš

[SpringBoot] application.properties μš΄μ˜μ²΄μ œλ³„ μ„€μ •

ν•΄λ²„λ‹ˆ 2024. 11. 20. 23:42
λ°˜μ‘ν˜•

 

Spring Boot μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  λ•Œ, μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ ν™˜κ²½μ„€μ • 파일인 application.propertiesλ‚˜ application.yml은 μ€‘μš”ν•œ 역할을 ν•œλ‹€.

ν•˜μ§€λ§Œ 개발 ν™˜κ²½μ΄λ‚˜ 운영 ν™˜κ²½μ— 따라 λ‹€λ₯΄κ²Œ λ™μž‘ν•΄μ•Ό ν•˜λŠ” 섀정듀이 μ‘΄μž¬ν•œλ‹€.

예λ₯Ό λ“€μ–΄, 파일 μ €μž₯ 경둜 같은 κ²½μš°μ—λŠ” μš΄μ˜μ²΄μ œμ— 따라 λ‹¬λΌμ§ˆ 수 μžˆλ‹€.

μ΄λŸ¬ν•œ κ²½μš°μ— λ™μΌν•œ μ½”λ“œλ² μ΄μŠ€μ—μ„œ μš΄μ˜μ²΄μ œμ— 맞게 섀정을 λΆ„λ¦¬ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄λ €κ³  ν•œλ‹€!

 

 

 

 

 

1. application.properties νŒŒμΌμ—μ„œ κΈ°λ³Έ μ„€μ • μ •μ˜

spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=myuser
spring.datasource.password=mypassword

 

λ¨Όμ €, application.properties νŒŒμΌμ— 곡톡적인 섀정을 적어둔닀.

 

 

 

 

 

 

2. μš΄μ˜μ²΄μ œλ³„ ν”„λ‘œνŒŒμΌ 파일 생성

 

μš΄μ˜μ²΄μ œλ§ˆλ‹€ λ‹€λ₯Έ 섀정을 μ μš©ν•˜λ €λ©΄ Spring의 ν”„λ‘œνŒŒμΌ(profile) κΈ°λŠ₯을 ν™œμš©ν•  수 μžˆλ‹€.

application-windows.properties, application-mac.properties와 같은 νŒŒμΌμ„ λ§Œλ“€μ–΄ μš΄μ˜μ²΄μ œλ³„λ‘œ 섀정을 뢄리할 수 μžˆλ‹€.

 

 

Windows용 μ„€μ • (application-windows.properties) 

spring.servlet.multipart.location=C:/Apache24/htdocs/

 

 

Mac용 μ„€μ • (application-mac.properties)

spring.servlet.multipart.location=/Users/username/Sup/

 

 

 

 

 

 

3. μš΄μ˜μ²΄μ œλ³„ ν”„λ‘œνŒŒμΌ μžλ™ μ„€μ •

package com.example.studyproject;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.example.studyproject")
public class StudyProjectApplication {

	public static void main(String[] args) {
		// 운영체제 감지
		String os = System.getProperty("os.name").toLowerCase();
		System.out.println(os);
		if (os.contains("win")) {
			System.setProperty("spring.profiles.active", "windows");
		} else if (os.contains("mac")) {
			System.setProperty("spring.profiles.active", "mac");
		} else {
			System.setProperty("spring.profiles.active", "default"); // 기타 운영체제
		}

		SpringApplication.run(StudyProjectApplication.class, args);
	}

}

 

이 μ½”λ“œμ—μ„œλŠ” 운영체제λ₯Ό κ°μ§€ν•œ ν›„, ν•΄λ‹Ή μš΄μ˜μ²΄μ œμ— λ§žλŠ” ν”„λ‘œνŒŒμΌμ„ μžλ™μœΌλ‘œ μ„€μ •ν•œλ‹€.

 

 

 

osλ₯Ό 좜λ ₯ν•΄λ΄€λ”λ‹ˆ μœ„μ™€ 같이 λ–΄λ‹€

 

 

 

 

νŒŒμΌμ„ μ €μž₯ν•΄λ³΄λ‹ˆ application-windows.properties κ²½λ‘œμ— 따라 잘 μ €μž₯λ˜λŠ” κ±Έ  λ³Ό 수 μžˆμ—ˆλ‹€~!

 

 

 

 

λ°˜μ‘ν˜•