Spring-boot-Starter Tutorial
Goals
- Springboot Starterλ₯Ό μ§μ λ§λ€λ©΄μ μ΄λ»κ² ꡬμ±λμ΄ μλμ§ μ΄ν΄ν΄λ΄ μλ€.
Let's make custom-springboot-starter
1. Create Multi Moudle Project
-
springboot-starterμ μμ λ₯Ό λ§λ€κΈ° μν΄μ μ΄ 3κ°μ§μ λͺ¨λμ΄ νμν©λλ€.
- μλ νκ²½μ€μ λͺ¨λ
- μλ νκ²½μ€μ μ ν¬ν¨ν λͺ¨λ
- Starterλ₯Ό ν μ€νΈ νλ €λ Web Application
-
springboot-starter λͺ¨λμ μ΄λ¦μ μμ±νκΈ° μ μ μ£Όμν΄μΌ ν μ λ€μ΄ μμ΅λλ€.
- Springμμλ λͺ¨λμ μ΄λ¦μ
spring-boot
λ‘ μμνμ§ μμ κ²μ κΆνκ³ μμ΅λλ€. - μλμ κ°μ΄ μμ λ€λ₯Έ μ΄λ¦μ λΆμ΄κΈ°λ₯Ό κΆνκ³ μμ΅λλ€.
nesoy-spring-boot-autoconfigure
nesoy-spring-boot-starter
- Springμμλ λͺ¨λμ μ΄λ¦μ
-
λ©ν° λͺ¨λλ‘ νλ‘μ νΈ κ΅¬μ±νκΈ°
-
Gradleλ‘ κ΅¬μ±νλ©΄ λ€μκ³Ό κ°μ λͺ¨μ΅μ λ³Ό μ μμ΅λλ€.
.
βββ build.gradle
βββ nesoy-spring-boot-autoconfigure -> μλ νκ²½μ€μ μ μν λͺ¨λ
β βββ build.gradle
β βββ src
βββ nesoy-spring-boot-starter-example -> μλ νκ²½μ€μ μ ν¬ν¨ν λͺ¨λ
β βββ build.gradle
βββ nesoy-spring-boot-starter-web -> Starter ν
μ€νΈλ₯Ό μν μ΄ν리μΌμ΄μ
β βββ build.gradle
β βββ src
βββ settings.gradle
2. Setting Auto-Configure Module π³
- Springbootμ μλ μ€μ μ μ¬μ©νκΈ° μν΄ μλμ μμ‘΄μ±μ μΆκ°ν΄μ€λλ€.
# gradle
compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '2.3.1.RELEASE'
# Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>2.3.1.RELEASE</version>
</dependency>
- Starterμ νμν μ€μ νμΌμ λ§λ€μ΄λ΄ μλ€.
@ConfigurationProperties(prefix = "nesoy")
public class NesoyProperties {
private String log;
public String getLog() {
return log;
}
public void setLog(String log) {
this.log = log;
}
}