์ฝ๊ฒ ์๊ฐํด์ ์ ์ฐฉ์ฅ์ ๋ฐฐ ๊ฐ ์์ด ์๋ฆฌ๋ฅผ ์ฐจ์ง ํ๊ณ ์๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.
ํฌํธ๋ฒํธ๋ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์ผ๋ฉด, ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ์ง ๋ชปํฉ๋๋ค.
ํฌํธ๋ฒํธ๋ 0 ~ 65535 (2์ 15์น - 1) ๊น์ง ์ฌ์ฉํ ์ ์์ง๋ง,
0 ~ 1000 ์ฌ์ด์ ๋ฒํธ๋ ์ฌ์ฉ ํ์ง ๋ง์๋ ๊ท์
์ด ์์ผ๋ฉฐ, 80 : http 21 : ftp, 22 : ssh ๋ฑ์์ ํฌํธ ๋ฒํธ๋ฅผ ์ด๋ฏธ ์ฌ์ฉํ๊ณ ์๋๊ฑธ ์์ ์๋ค.
โก yml์ค์ ํ์ผ์์ ํฌํธ๋ฒํธ ๋ณ๊ฒฝํ๊ธฐ (ํธ๋ฆฌ๊ตฌ์กฐ๊ฐ ์๋ properties์ ์กฐ๊ธ๋ค๋ฆ)
server:
port: 8081
implementation 'org.springframework.boot:spring-boot-starter-mustache'
server:
servlet:
encoding:
force-response: true # ํ๊ธ ๊นจ์ง ๋ฐฉ์ง
port: 8081
spring:
mustache:
prefix: classpath:/templates/ # view ํ์ผ ํจํค์ง
suffix: .html # html ์ค์
<!-- input -->
<body>
<form action="/myname_output" method="post">
<label for="name">์ด๋ฆ:</label><br>
<input type="text" id="name" name="name"><br>
<label for="phone">์ ํ๋ฒํธ:</label><br>
<input type="text" id="phone" name="phone"><br><br>
<input type="submit" value="์ ์ถ">
</form>
</body>
์์ ๊ฐ์ html ์ฝ๋์์ ์ด๋ฆ๊ณผ ์ ํ๋ฒํธ๋ฅผ ์
๋ ฅ๋ฐ์ผ๋ฉด /myname_output URL๋ก POST ์์ฒญ์ ๋ณด๋ด๊ฒ๋ฉ๋๋ค.
Model ๊ฐ์ฒด์ ๋ด์์ ๋ณด๋ด๋๊ฑด ํ์๋ฆฌํ๋ ๋์ผํฉ๋๋ค.
์๋์ html ์ฝ๋์ ๊ฐ์ด ๋จธ์คํ ์น๋ {{ ๋ฐ์ดํฐ }} ๋ฅผ ๋ด์์ ํ์ด์ง์ ๋ฟ๋ฆฌ๊ฒ ๋ฉ๋๋ค.
<!-- output -->
<body>
<h1>์
๋ ฅ ๊ฒฐ๊ณผ</h1>
<h3>์ด๋ฆ์ {{name}} ์
๋๋ค.</h3>
<h3>์ ํ๋ฒํธ๋ {{phone}} ์
๋๋ค.</h3>
</body>
์๋์ ์ฌ์ง์ฒ๋ผ ์ธํฐํ์ด์ค๋ก ๋ง๋ค๋ฉฐ ๊ทธ ์ด์ ๋ ๋คํ์ฑ ๋๋ฌธ์
๋๋ค.
(Service ์ธํฐํ์ด์ค๋ ๋ง์ฐฌ๊ฐ์ง)
Impl ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ก ๋ค์ด๋ฐ ํ๊ธฐ ์ํด ์ ๋ฏธ์ด๋ก ๋ง์ด ์ฌ์ฉํ๋ฉฐ, ์ธํฐํ์ด์ค์ ๊ตฌํ์ฒด๋ฅผ ๋ถ๋ฆฌํ๋ ์ด์ ๋ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ ๋๋ฌธ์
๋๋ค.์๋์ ์ฌ์ง์ฒ๋ผ implements ํ์ฌ ๊ตฌํํ ์ ์์ต๋๋ค.
๊ตฌํ์ฒด (
Impl) ์๋ ์ ์ ํ ์ด๋ ธํ ์ด์ ์ ์์ฑํด์ผ ํฉ๋๋ค.
(@Repository,@Service๋ฑ)
์ปจํธ๋กค๋ฌ ๋จ์์ ๊ตฌํ์ฒด๋ฅผ ์ฃผ์ (DI) ๋ฐ๋๊ฒ์ด ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ฃผ์ ๋ฐ๋๊ฒ์ ์ฒ์ ์์์ต๋๋ค.