Notice
Recent Posts
Link
Today
Total
07-07 22:50
๊ด€๋ฆฌ ๋ฉ”๋‰ด

dingdong coding

Spring Framework, Spring Boot ๋ณธ๋ฌธ

๐ŸSpring/Basic

Spring Framework, Spring Boot

๐Ÿถ ๊ฐœ๋ฐœ๊ฐœ๋ฐœ ๐Ÿพ 2022. 6. 18. 10:24

Spring ? 

    • ์ž๋ฐ” ์–ธ์–ด ๊ธฐ๋ฐ˜( ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด )์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ 

        •  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์˜ ์ „ ๊ณผ์ •์„ ๋น ๋ฅด๊ณ  ํŽธ๋ฆฌํ•˜๋ฉฐ ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค. 

        •  ์ดˆ๊ธฐ์— ๊ธฐ๋ณธ ์„ค์ •๊ณผ ๊ธฐ์ˆ ์„ ์ž˜ ์„ค์ •ํ•˜๋ฉด ์Šคํ”„๋ง๊ณผ ๊ด€๋ จ๋œ ์ฝ”๋“œ๋‚˜ API์— ๋Œ€ํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฑฐ์˜ ์‹ ๊ฒฝ ์“ธ ์ผ์ด ์—†๋‹ค.

        •  ์ด๋Š” Spring Boot, Spring Framework์— ๋Œ€ํ•ด ์•Œ์•„๋ณธ๋‹ค๋ฉด Spring์ด ์–ผ๋งˆ๋‚˜ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด์ฃผ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

    •  spring framework, spring boot๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•œ ์Šคํ”„๋ง ์ƒํƒœ๊ณ„

    •  ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด๊ฐ€ ๊ฐ€์ง„ ํŠน์ง•์„ ์‚ด๋ ค๋‚ด ์ข‹์€ ๊ฐ์ฒด์ง€ํ–ฅ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

    •  Spring์˜ ํ•ต์‹ฌ ํŠน์ง•์ธ ์ œ์–ด์˜ ์—ญ์ „(Ioc), ์˜์กด๊ด€๊ณ„ ์ฃผ์ž…(DI)์„ ์ด์šฉํ•ด ๋‹คํ˜•์„ฑ์„ ์ž˜ ์ง€ํ‚ค๋ฉฐ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

 

spring architect

Spring Framework ? 

์‚ฌ์‹ค์ƒ Spring๊ณผ Spring Framework๋Š” ๊ฐ™์€ ๋ง์ด๋‹ค.

์•ž์„œ Spring์ด๋ž€ ์ž๋ฐ” ์–ธ์–ด ๊ธฐ๋ฐ˜์˜ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ผ ์„ค๋ช…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 

 

๊ทธ๋ ‡๋‹ค๋ฉด ๊ฐ„๋‹จํžˆ Spring Framework์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ ์— ๋Œ€ํ•ด ๊ฐ„๋žตํžˆ ์‚ดํŽด๋ณด์ž 

 

    •  ์Šคํ”„๋ง DI, AOP, Ioc, ์ด๋ฒคํŠธ

    •  ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์ธ  ํŠธ๋žœ์žญ์…˜, JDBC, ORM ์ง€์›, XML ์ง€์›

    •  Junit๊ณผ ๊ฐ™์€ ์Šคํ”„๋ง ๊ธฐ๋ฐ˜ ํ…Œ์ŠคํŠธ ์ง€์›

 ... 

Spring Boot ? 

    • ์Šคํ”„๋ง์„ ๋” ์‰ฝ๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ด์ฃผ๋Š” ๋„๊ตฌ

    • ์‚ฌ์šฉ์ž๊ฐ€ Spring Framework๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •์˜ ๋งŽ์€ ๋ถ€๋ถ„์„ ์ž๋™ํ™”ํ•ด์ค€๋‹ค.

    • Spring Boot Starter Dependency ์ž๋™ํ™” 

        •  version ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•จ

dependencies {
   implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
   implementation 'org.springframework.boot:spring-boot-starter-web'
   implementation 'org.springframework.boot:spring-boot-starter-jdbc'
   implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
   runtimeOnly 'com.h2database:h2'
   testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

        •  ์ด์ฒ˜๋Ÿผ spring boot์— ํ•„์š”ํ•œ ๊ด€๋ จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์•Œ์•„์„œ ๋ฐ›์•„์™€์ค€๋‹ค.

Spring Boot

1) Spring Boot์˜ ํŠน์ง• 

    •  ๋‹จ๋…์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑ 

    •  Spring Boot ๋‚ด๋ถ€์— Tomcat ๊ฐ™์€ ์›น ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด  ๋ณ„๋„์˜ ์›น ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

    •   starter ์ข…์†์„ฑ์œผ๋กœ ์†์‰ฌ์šด ๋นŒ๋“œ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ dependency ์ž๋™ํ™”

    •  ์Šคํ”„๋ง๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ž๋™ ๊ตฌ์„ฑ

    • XML์„ค์ •์„ ํ•˜์ง€ ์•Š์•„๋„ ๋จ

    • jar file์„ ์ด์šฉํ•ด ์ž๋ฐ” ์˜ต์…˜๋งŒ์œผ๋กœ ์†์‰ฝ๊ฒŒ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅ

    ... 

 

Spring์œผ๋กœ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค๋ฉด Spring Boot์™€ Framework๋Š” ์ด ๋‘˜์€ Spring์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ•„์ˆ˜์ ์œผ๋กœ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.

 

Spring Boot๋Š” Spring Framewok๋ผ๋Š” ํฐ ํ‹€์— ์†ํ•˜๋Š” ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค

 

Spring Boot์™€ Spring Framework ์™ธ์—๋„ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„ ํƒํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Spring Data, Spring Session , Spring Security, Spring Rest Docs, Spring Batch, Spring Cloud ๋“ฑ์ด ์žˆ๋‹ค.

 

์ง€๊ธˆ์€ Spring์— ๋Œ€ํ•ด์„œ๋งŒ ์•Œ์•„๋ณด์•˜๋‹ค. ๋‹ค์Œ์— ๊ธฐํšŒ๊ฐ€ ๋˜์–ด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ๊ธฐ์ˆ ์„ ์ ‘ํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด ํ•™์Šต์ฐจ์›์—์„œ ํ•˜๋‚˜์”ฉ ํฌ์ŠคํŒ…ํ•  ์˜ˆ์ •์ด๋‹ค.

'๐ŸSpring > Basic' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring Singleton  (0) 2022.06.22
JDBC vs JDBC Template vs JPA  (0) 2022.06.18
Spring Bean, Spring Container  (0) 2022.06.17
MVC, Spring MVC  (0) 2022.06.16
์–ด๋…ธํ…Œ์ด์…˜ ์ •๋ฆฌ @  (0) 2022.06.14
Comments