02A. μ€νλ§λΆνΈ νλ‘μ νΈμ ꡬ쑰
02A. μ€νλ§λΆνΈ νλ‘μ νΈμ ꡬ쑰 κ΄λ ¨
νμ¬ SBB νλ‘μ νΈλ HelloController.java
μ HelloLombok.java
νμΌλ§ μμ±ν μνλ€. κ·Έλ°λ° μ΄λ³΄λ€ κ·λͺ¨λ₯Ό κ°μΆ νλ‘μ νΈλ₯Ό λ§λ€κ³ μ νλ€λ©΄ νλ‘μ νΈ κ΅¬μ‘°λ₯Ό μ μ΄ν΄ν΄μΌ νλ€. μ΄λ² μ₯μμλ μ€νλ§λΆνΈ νλ‘μ νΈμ ꡬ쑰μ νμΌλ€μ λν΄μ μμ보μ.
μ€νλ§λΆνΈ νλ‘μ νΈμ μ 체 ꡬ쑰λ λ€μκ³Ό κ°λ€.
src/main/java
λλ ν°λ¦¬
. src/main/java
λλ ν°λ¦¬μ com.mysite.sbb
ν¨ν€μ§λ μλ° νμΌμ μμ±νλ 곡κ°μ΄λ€. μλ° νμΌλ‘λ HelloController
μ κ°μ μ€νλ§λΆνΈμ 컨νΈλ‘€λ¬, νΌκ³Ό DTO, λ°μ΄ν° λ² μ΄μ€ μ²λ¦¬λ₯Ό μν μν°ν°, μλΉμ€ νμΌλ±μ΄ μλ€.
SbbApplication.java
νμΌ
λͺ¨λ νλ‘κ·Έλ¨μλ μμμ λ΄λΉνλ νμΌμ΄ μλ€. μ€νλ§λΆνΈ μ ν리μΌμ΄μ
μλ μμμ λ΄λΉνλ νμΌμ΄ μλλ° κ·Έ νμΌμ΄ λ°λ‘ <νλ‘μ νΈλͺ
>
+ Application.java
νμΌμ΄λ€. μ€νλ§λΆνΈ νλ‘μ νΈλ₯Ό μμ±ν λ "Sbb"λΌλ μ΄λ¦μ μ¬μ©νλ©΄ λ€μκ³Ό κ°μ SbbApplication.java
νμΌμ΄ μλμΌλ‘ μμ±λλ€.
νμΌλͺ :
/sbb/src/main/java/com/mysite/sbb/
SbbApplication.java
package com.mysite.sbb;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SbbApplication {
public static void main(String[] args) {
SpringApplication.run(SbbApplication.class, args);
}
}
SbbApplication
ν΄λμ€μλ μμ κ°μ΄ λ°λμ @SpringBootApplication
μ λν
μ΄μ
μ΄ μ μ©λμ΄ μμ΄μΌ νλ€. @SpringBootApplication
μ λν
μ΄μ
μ ν΅ν΄ μ€νλ§λΆνΈμ λͺ¨λ μ€μ μ΄ κ΄λ¦¬λλ€.
src/main/resources
λλ ν°λ¦¬
. src/main/resources
λλ ν°λ¦¬λ μλ° νμΌμ μ μΈν HTML, CSS, Javascript, νκ²½νμΌ λ±μ μμ±νλ 곡κ°μ΄λ€.
templates
λλ ν°λ¦¬
. src/main/resources
λλ ν°λ¦¬μ νμ λλ ν°λ¦¬μΈ templates
λλ ν°λ¦¬μλ ν
νλ¦Ώ νμΌμ μ μ₯νλ€. ν
νλ¦Ώ νμΌμ HTML νμΌ ννλ‘ μλ° κ°μ²΄μ μ°λλλ νμΌμ΄λ€. templates λλ ν°λ¦¬μλ SBBμ μ§λ¬Έ λͺ©λ‘, μ§λ¬Έ μμΈ λ±μ HTML νμΌμ μ μ₯νλ€.
static
λλ ν°λ¦¬
. static
λλ ν°λ¦¬λ SBB νλ‘μ νΈμ μ€νμΌμνΈ(.css
), μλ°μ€ν¬λ¦½νΈ(.js
) κ·Έλ¦¬κ³ μ΄λ―Έμ§ νμΌ(.jpg
, .png
) λ±μ μ μ₯νλ 곡κ°μ΄λ€.
application.properties
νμΌ
. application.properties
νμΌμ SBB νλ‘μ νΈμ νκ²½μ μ€μ νλ€. SBB νλ‘μ νΈμ νκ²½, λ°μ΄ν°λ² μ΄μ€ λ±μ μ€μ μ μ΄ νμΌμ μ μ₯νλ€.
src/test/java
λλ ν°λ¦¬
src/test/java
λλ ν°λ¦¬λ SBB νλ‘μ νΈμμ μμ±ν νμΌμ ν
μ€νΈνκΈ° μν ν
μ€νΈ μ½λλ₯Ό μμ±νλ 곡κ°μ΄λ€. JUnitκ³Ό μ€νλ§λΆνΈμ ν
μ€ν
λꡬλ₯Ό μ¬μ©νμ¬ μλ²λ₯Ό μ€ννμ§ μμ μνμμ src/main/java
λλ ν°λ¦¬μ μμ±ν μ½λλ₯Ό ν
μ€νΈν μ μλ€. build.gradle
νμΌ
κ·Έλ μ΄λ€(Gradle)μ΄ μ¬μ©νλ νκ²½ νμΌμ΄λ€. κ·Έλ μ΄λ€μ 그루λΉ(Groovy)λ₯Ό κΈ°λ°μΌλ‘ ν λΉλ λκ΅¬λ‘ Ant, Mavenκ³Ό κ°μ μ΄μ μΈλ λΉλ λꡬμ λ¨μ μ 보μνκ³ μ₯μ μ μ·¨ν©νμ¬ λ§λ λΉλ λꡬμ΄λ€. build.gradle
νμΌμλ νλ‘μ νΈλ₯Ό μν΄ νμν νλ¬κ·ΈμΈκ³Ό λΌμ΄λΈλ¬λ¦¬ λ±μ κΈ°μ νλ€.
λλ¨Έμ§ λλ ν°λ¦¬μ νμΌλ±μ μλ μμ±λκ±°λ ν¬κ² μ€μνμ§ μμ κ²λ€μ΄λΌ μ€λͺ μ μλ΅νλ€.