Introduce

μŠ€ν”„λ§μ΄λΌλŠ” λ‹¨μ–΄λŠ” λ¬Έλ§₯에 따라 λ‹€λ₯΄κ²Œ μ‚¬μš©λ˜μ–΄ λ‹€μŒμ˜ λͺ©λ‘λ“€μ„ μ§€μΉ­ν•˜κ²Œ λœλ‹€.

  • μŠ€ν”„λ§ DI μ»¨ν…Œμ΄λ„ˆ 기술

  • μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬

  • μŠ€ν”„λ§ λΆ€νŠΈ, μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬ 등을 λͺ¨λ‘ ν¬ν•¨ν•œ μŠ€ν”„λ§ μƒνƒœκ³„

μŠ€ν”„λ§ 기술 μ’…λ₯˜

ν˜„λŒ€ μ›Ή κ°œλ°œμ—μ„  μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ™€ μŠ€ν”„λ§ λΆ€νŠΈλŠ” 거의 ν•„μˆ˜λ‘œ μ‚¬μš©λ˜κ³  있으며 κ·Έ 외에 μ—¬λŸ¬ κΈ°μˆ λ“€μ΄ μ‘΄μž¬ν•œλ‹€.

  • μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬: 핡심이 λ˜λŠ” ν”„λ ˆμž„μ›Œν¬

  • μŠ€ν”„λ§ λΆ€νŠΈ: μ—¬λŸ¬ κΈ°μˆ μ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•˜λ„λ‘ μ„œν¬νŠΈν•˜λŠ” μ—­ν• 

  • κ·Έ μ™Έ

    • μŠ€ν”„λ§ 데이터

    • μŠ€ν”„λ§ μ„Έμ…˜

    • μŠ€ν”„λ§ μ‹œνλ¦¬ν‹°

    • μŠ€ν”„λ§ Rest Docs

    • μŠ€ν”„λ§ 배치

    • μŠ€ν”„λ§ ν΄λΌμš°λ“œ

μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬

μŠ€ν”„λ§μ˜ 핡심 κΈ°μˆ λ‘œμ„œ μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λ©΄ λ‹€μŒκ³Ό 같은 κΈ°μˆ λ“€μ„ μ‚¬μš©ν•  수 μžˆλ‹€.

  • 핡심 기술: μŠ€ν”„λ§ DI μ»¨ν…Œμ΄λ„ˆ, AOP, 이벀트, 기타

  • μ›Ή 기술: μŠ€ν”„λ§ MVC, μŠ€ν”„λ§ WebFlux

  • 데이터 μ ‘κ·Ό 기술: νŠΈλžœμž­μ…˜, JDBC, ORM 지원, XML 지원

  • 기술 톡합: μΊμ‹œ, 이메일, 원격접근, μŠ€μΌ€μ€„λ§

  • ν…ŒμŠ€νŠΈ: μŠ€ν”„λ§ 기반 ν…ŒμŠ€νŠΈ 지원

  • μ–Έμ–΄: μ½”ν‹€λ¦°, 그루비

μ΅œκ·Όμ—λŠ” μŠ€ν”„λ§ λΆ€νŠΈλ₯Ό ν†΅ν•΄μ„œ μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ˜ κΈ°μˆ λ“€μ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 있게 λ˜μ—ˆλ‹€.

μŠ€ν”„λ§ λΆ€νŠΈ

μŠ€ν”„λ§ λΆ€νŠΈλŠ” μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‰½κ²Œ μ‚¬μš©ν•  수 있게 λ„μ™€μ£ΌλŠ” 도ꡬ일 뿐이며, κ²°κ΅­ 핡심 κΈ°λŠ₯은 μŠ€ν”„λ§ ν”„λ ˆμž„μ›Œν¬μ— μžˆλ‹€.

  • μŠ€ν”„λ§μ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 지원, μ΅œκ·Όμ—λŠ” 기본으둜 μ‚¬μš©

  • λ‹¨λ…μœΌλ‘œ μ‹€ν–‰ν•  수 μžˆλŠ” μŠ€ν”„λ§ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μ‰½κ²Œ 생성 Tomcat 같은 μ›Ή μ„œλ²„λ₯Ό λ‚΄μž₯ν•΄μ„œ λ³„λ„μ˜ μ›Ή μ„œλ²„λ₯Ό μ„€μΉ˜ν•˜μ§€ μ•Šμ•„λ„ 됨

  • μ†μ‰¬μš΄ λΉŒλ“œ ꡬ성을 μœ„ν•œ starter 쒅속성 제곡

  • μŠ€ν”„λ§κ³Ό 3rd party(μ™ΈλΆ€) 라이브러리 μžλ™ ꡬ성

  • λ©”νŠΈλ¦­, μƒνƒœ 확인, μ™ΈλΆ€ ꡬ성 같은 ν”„λ‘œλ•μ…˜ μ€€λΉ„ κΈ°λŠ₯ 제곡 관둀에 μ˜ν•œ κ°„κ²°ν•œ μ„€μ •

  • 관둀에 μ˜ν•œ κ°„κ²°ν•œ μ„€μ •

μŠ€ν”„λ§ 핡심 κ°œλ…

  • μžλ°” μ–Έμ–΄ 기반의 ν”„λ ˆμž„μ›Œν¬

  • μžλ°” μ–Έμ–΄μ˜ κ°€μž₯ 큰 νŠΉμ§•μΈ 객체지ν–₯을 μ‚΄λ €λ‚΄λŠ” ν”„λ ˆμž„μ›Œν¬

  • λ™μ‹œμ— 쒋은 객체 지ν–₯ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” ν”„λ ˆμž„μ›Œν¬

μŠ€ν”„λ§μ—μ„œ 응닡 데이터λ₯Ό λ§Œλ“€μ–΄ λ‚΄λŠ” 방법은 크게 μ•„λž˜ 3가지가 μžˆλ‹€.

1. 정적 컨텐츠

2. MVC & ν…œν”Œλ¦Ώ 엔진

3. API

  • http body에 문자 λ‚΄μš© λ°˜ν™˜

  • HttpMessageConverter λ™μž‘

    • 문자: StringHttpMessageConverter

    • 객체: MappingJackson2HttpMessageConverter

    • κ·Έ 외에도 μ—¬λŸ¬ converter 쑴재

μŠ€ν”„λ§μ—μ„œ μ‚¬μš©λ˜λŠ” μš©μ–΄μ™€ 핡심

  • DI(Dependency Injection): 객체 κ°„ μ˜μ‘΄μ„±μ„ μžμ‹ μ΄ μ•„λ‹Œ μ™ΈλΆ€μ—μ„œ 두 객체 κ°„μ˜ 관계λ₯Ό μ„€μ •ν•˜λŠ” 것

  • IoC(Inversion of Control): μ œμ–΄μ˜ μ—­μ „, ν”„λ‘œκ·Έλž¨μ˜ μ œμ–΄ 흐름을 κ°œλ°œμžκ°€ μ•„λ‹Œ ν”„λ ˆμž„μ›Œν¬κ°€ λ‹΄λ‹Ήν•˜λŠ” 것

  • AOP(Aspect Oriented Programming): κ³΅ν†΅μ˜ 관심 사항을 μΆ”μΆœν•˜μ—¬ μ›ν•˜λŠ” 곳에 μ μš©ν•˜λŠ” 기술

참고자료

Last updated

Was this helpful?