Spring ์ด์ •๋ฆฌ 2.Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ

2020. 6. 6. 20:26ยท ๐ŸŒ WEB/Spring

Spring Container

Servlet์—์„œ 1:1mapping์„ ๋ณด์•ˆํ•ด์„œ ์ž๋™์œผ๋กœ ๋ถ„๊ธฐ, ์ž๋™์œผ๋กœ ์ƒ์„ฑํ™”๋ฉด ์ด๋™์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์ด Controller๋Š” ๋‹ค์–‘ํ•œ ์š”์ฒญ์„ ์ œ์–ดํ•˜์—ฌ J2EE Pattern: frontController ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

Business Layer์—์„œ handler mapper๋ฅผ ์žŠ๊ณ  ๊ทธ๋ฆฌ์ง€ ์•Š์•˜๋Š”๋ฐ ์•Œ์•„๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Handler Mapping : dispatcherSevlet์œผ๋กœ ๋ฐ›์€ ์š”์ฒญ -> Controller ๋ณด๋ƒ„-> ์š”์ฒญ์ด ์–ด๋–ค ๋งคํ•‘์ธ์ง€ ๊ทธ ๋ฐฉ๋ฒ•์„ ์ •ํ•ด์ฃผ๋Š” ํด๋ž˜์Šค ์ž…๋‹ˆ๋‹ค.

 

Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

1. DI/IoC

- Bean Spring ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋“ฑ๋ก

- Life-Cycle์„ ๋”ฐ๋ผ๊ฐ€์ง€ ์•Š๊ณ  ์‚ฌ์šฉ

POJO๋ฅผ Spring beanํ˜น์€ @Annotation์„ ํ†ตํ•ด์„œ ๋“ฑ๋ก

- DI : Bean๋“ฑ๋ก, ์ปจํ…Œ์ด๋„Œ๊ฐ€ ์ž‘๋™๋  ๋•Œ ๋ฏธ๋ฆฌ ๋“ฑ๋กํ•œ๋‹ค.

- IoC : ์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ํ•„์š”๋กœ ํ• ๋•Œ ์ž๋™์œผ๋กœ ๊ฐ€์ ธ์™€์„œ ์ฃผ์ž…ํ•œ๋‹ค.

 

2. AOP

์–ด๋– ํ•œ ๋กœ์ง์˜ ๊ธฐ์ค€์œผ๋กœ ํ•ต์‹ฌ์ด ๋˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๋ถ€๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ๊ตฌ๋ถ„ํ•œ๋‹ค.

CC (Core Concern ์ฃผ๊ด€์‹ฌ์‚ฌ) CCC(Cross-Cutting Concern ๊ด€์ ์™ธ ๊ด€์‹ฌ์‚ฌ)
Bean, Process, Mybatis ... Log, Exception, Transaction ...

ํŠธ๋žœ์žญ์…˜ : ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„๋ฅผ ๋œปํ•œ๋‹ค.

 

AOP์šฉ์–ด

Aspect CCC๋ฅผ ๋ชจ๋“ˆํ™”

Target Aspect๊ฐ€ ์ž‘๋™๋˜๋Š” ๊ณณ

Advice ์–ด๋–ค ์ž‘์—…์„ ํ•ด์•ผ ํ•  ์ง€ ์„ ํƒํ•˜๋Š”๊ฒƒ, ๋ถ€๊ฐ€๊ธฐ๋Šฅ์„ ๋‹ด์€ ๊ตฌํ˜„์ฒด

JoinPoint ๋ผ์–ด๋“ค ์ˆ˜ ์žˆ๋Š” ์œ„์น˜

PointCut ๊ตฌ์ฒด์ ์ธ ์‹คํ–‰๋  ์‹œ์ 

 

- aspect(๋ชจ๋“ˆํ™”)

  -target(๋Œ€์ƒ ํด๋ž˜์Šค, ๋งค์„œ๋“œ)

     -advice(์‹คํ–‰๋˜๋Š” ๋ฉ”์„œ๋“œ)

        -joinpoint()

        -pointcut()

 

AOP ์‹คํ–‰ ์‹œ์ 

Before , After, AfterReturning, AfterThrowing, Around

 

3. OCP

๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„์˜ 5์›์น™์ด๋ผ ํ•˜๋Š” SOLED์—์„œ 

OCP(Open Closed Principle) ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™์ด๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์š”์†Œ๋Š” ํ™ฉ์žฅ์—๋Š” ์—ด๋ ค ์žˆ์œผ๋‚˜ ๋ณ€๊ฒฝ์—๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

ํด๋ž˜์Šค, ๋ชจ๋“ˆ ํ•จ์ˆ˜ ๋“ฑ์€ ํ™•์žฅ์— ๋Œ€ํ•ด ์—ด๋ ค ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

- interface๋ฅผ ํ†ตํ•ด ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ

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

Mapper Interface?  (0) 2020.07.23
Spring ์ด์ •๋ฆฌ 3.Annotation  (0) 2020.06.13
Spring ์ด์ •๋ฆฌ 1.Spring์— ๊ธฐ๋ฐ˜์ด ๋˜๋Š” Servlet  (0) 2020.06.06
์ด๋ฏธ์ง€ ์—…๋กœ๋“œ (Spring+Ajax)  (1) 2020.05.16
์„ธ์…˜ ์ €์žฅ์†Œ  (0) 2020.04.29
'๐ŸŒ WEB/Spring' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Mapper Interface?
  • Spring ์ด์ •๋ฆฌ 3.Annotation
  • Spring ์ด์ •๋ฆฌ 1.Spring์— ๊ธฐ๋ฐ˜์ด ๋˜๋Š” Servlet
  • ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ (Spring+Ajax)
์• ์ •์“ฐ
์• ์ •์“ฐ
์• ์ •์“ฐ
์• ์ •์ฝ”๋”ฉ ๐Ÿ’ป
์• ์ •์“ฐ
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (93)
    • ๐Ÿง  MIND (0)
    • ๐Ÿ“ ํšŒ๊ณ  (5)
    • โš™๏ธ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ (2)
    • ๐Ÿ—‚๏ธ DataBase (1)
      • QUERY (1)
    • ๐Ÿ’ป Computer Science (12)
    • ๐ŸŒ WEB (62)
      • HTML,CSS (0)
      • Kotlien (1)
      • JAVA (20)
      • JavaScript (3)
      • Spring (16)
      • Thymeleaf (2)
      • Node.js (1)
      • React (2)
      • SETTING (3)
      • JPA (11)
    • ๐Ÿœ TESTING (3)
    • ๊ธฐํƒ€ (4)
    • ์—๋Ÿฌ๋ชจ์Œ (4)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • null์ œ์™ธ
  • ๊ฐœ๋ฐœ์ž
  • QueryDSL
  • Til
  • ์ž๋ฐ”
  • spring-boot
  • ๊ธฐ์ดˆ
  • Java
  • ๋™์ ํ”„๋ก์‹œ
  • max_digest_length
  • 6์›”ํšŒ๊ณ 
  • ํŒŒ์ด์ฌ
  • JWT
  • ์„œ๋น„์Šคํ…Œ์ŠคํŠธ
  • XSSFWorkbook
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ์ง๋ ฌํ™”
  • ๊ฐœ๋ฐœ์žํšŒ๊ณ 
  • ArgumentCaptor
  • rdsํŒŒ๋ผ๋ฏธํ„ฐ
  • Setting
  • Gson null
  • ์ธํ„ฐ๋ทฐ
  • ํšŒ๊ณ 
  • JPA
  • enum
  • ์ฝ”ํ…Œ
  • ๋ฐฑ์ค€
  • ๋ฉ”์„œ๋“œํ…Œ์ŠคํŠธ
  • Spring

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.1
์• ์ •์“ฐ
Spring ์ด์ •๋ฆฌ 2.Spring 3๋Œ€ ์ž‘๋™์›๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.