1 ๋ถ„ ์†Œ์š”

๐Ÿ“š SPRING


๐Ÿ“š SPRING VS SPRINGBOOT

Spring ์ด๋ž€

  • ์ •ํ™•ํ•œ ํ‘œํ˜„์œผ๋กœ๋Š” โ€˜Spring Frameworkโ€™
  • ์ž๋ฐ”์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ
  • DI ( ์˜์กด์„ฑ ์ฃผ์ž… ), IOC ( ์ œ์–ด ์—ญ์ „ ), AOP ( ๊ด€์  ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ )
  • ์œ„ ์š”์†Œ๋“ค๋กœ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ ๋‹ฌ์„ฑ
  • ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์šฉ์ด

๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ชจ๋“ˆ

  • Spring JDBC
  • Spring MVC
  • Spring AOP
  • Spring ORM
  • Spring Test
  • Spring Expression Language ( SpEL )

๐Ÿ‘‰ SPRING์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž !

SpringBoot ๋ž€

SpringBoot๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋œ ์ด์œ 

โ€œjavaSpring Boot makes it easy to create stand-alone,
production-grade Spring based Applications that you can โ€˜just runโ€™โ€œ
์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ๋‹จ์ง€ ์‹คํ–‰๋งŒ ํ•˜๋ฉด ๋˜๋Š” ์Šคํ”„๋ง ๊ธฐ๋ฐ˜์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
Spring์˜ ๋‹จ์ ๋งŒ์„ ๋ณด์™„ํ•ด์„œ ๋งŒ๋“  ๊ฒƒ

  • ์ž๋™์„ค์ • ( AutoConfiguration ) ์„ ์ด์šฉ
  • ๊ฐ„ํŽธํ•œ ์„ค์ •
  • SpringBoot-Starter๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ž๋™์œผ๋กœ ํ˜ธํ™˜๋˜๋Š” ๋ฒ„์ ผ์„ ๊ด€๋ฆฌ
  • ํŽธ๋ฆฌํ•œ ์˜์กด์„ฑ ๊ด€๋ฆฌ ( spring boot starter dependency๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ํŒจํ‚ค์ง€ ์ˆ˜์šฉ )
  • ๋‚ด์žฅ ์„œ๋ฒ„๋กœ ์ธํ•œ ๊ฐ„๋‹จํ•œ ๋ฐฐํฌ ์„œ๋ฒ„ ๊ตฌ์ถ•

SpringBoot starter dependency

  • spring-boot-starter-service : SOAP ์›น ์„œ๋น„์Šค
  • spring-boot-starter-web : RESTful ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ
  • spring-boot-starter-test : ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ
  • spring-boot-starter-jdbc : ๊ธฐ๋ณธ์ ์ธ JDBC
  • spring-boot-starter-security : ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ ( ์ธ์ฆ, ๊ถŒํ•œ )
  • spring-boot-starter-data-jpa : Spring Data JPA ( Hibernate )
  • spring-boot-starter-cache : ์บ์‹œ

๐Ÿ‘‰ SPRINGBOOT์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž !

Spring VS SpringBoot

๊ฒฐ๊ตญ Spring๊ณผ SpringBoot์˜ ์ฐจ์ด์ ์€ SpringBoot์˜ ๊ธฐ๋Šฅ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ž๋™ํ™”๋ฅผ ํ†ตํ•ด ์ข€ ๋” ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฐœ๋ฐœ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์คŒ

  • dependency ( ์˜์กด์„ฑ ๊ด€๋ฆฌ )

    • Spring์—์„œ ๊ธธ๊ณ  ๋ฒ„์ „๊นŒ์ง€ ์ง์ ‘ ๋‹ค ์„ค์ •ํ•ด์ค˜์•ผ ํ•˜๋Š” ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ SpringBoot starter dependency๋ฅผ ํ†ตํ•ด ํŽธ๋ฆฌํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ( ํ”„๋ ˆ์ž„ ์›Œํฌ์—์„œ ๊ด€๋ฆฌ )
    • SpringBoot-Starter๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์ž๋™ ํ˜ธํ™˜ ๋ฒ„์ „ ๊ด€๋ฆฌ
  • ๋‚ด์žฅ ์„œ๋ฒ„ ( Embed Tomcat )

    • Spring์—์„œ ๋”ฐ๋กœ Tomcat์ด๋‚˜ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ์„ค์น˜ํ•ด์•ผํ–ˆ๋‹ค๋ฉด SpringBoot์—์„œ๋Š” ๋‚ด์žฅ ์„œ๋ฒ„๋กœ ์กด์žฌํ•ด์„œ ๊ฐ„ํŽธํ•˜๊ณ  ์„œ๋ฒ„ ๊ตฌ๋™ ์‹œ๊ฐ„์ด ์ ˆ๋ฐ˜ ๊ฐ€๊นŒ์ด ๋‹จ์ถ•๋˜์—ˆ๋‹ค.
  • ๋‚ด์žฅ ์„œ๋ฒ„ ๋•๋ถ„์— ๊ฐ„๋‹จํ•˜๊ฒŒ jar ํŒŒ์ผ ( ์ž๋ฐ” ์˜ต์…˜๋งŒ์œผ๋กœ )๋กœ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋‹ค.

  • xml ์„ค์ • ์—†์ด ์ž๋ฐ” ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ์„ค์ • ๊ฐ€๋Šฅ