JAVA Spring 공부

InKi Hong·2021년 12월 18일
0

자바독학(Java)

목록 보기
2/3

해당 게시글은 뉴렉처 님의 스프링프레임워크 강의를 보고 정리한 글입니다.

📖 [1] Spring 소개

✅ spring.io 사이트

✅ spring boot 사용하는 이유?

  • 다오라든지 서비스라고 하는 그런 계층들을 이용해서
    함수들을 나눠놓게 되는데 JDBC가 제공하는 컬렉션을
    공유하기가 어렵다.

  • 인젝션과 트랜잭션을 관리

  • 깔끔하게 라이브러리만 사용

  • 모듈결합 너무 쉽게 해준다.

  • JAVA EE가 가지고 있던 모든 기능을 사용
    - JAVA SE + JAVA EE 👉 JAVA SE + Spring
    - JAVA EE는 유료화

  • Spring을 이용해서 Enterprise web 만든다.

✅ 사전지식

  • Spring이라는 부분은 MVC, 트랜잭션, 인증과 권한을 담당
    - 그러기 위해서는 그 아래 계층들의 이해가 필요하다.

  • MVC, JAVA에 대해서는 미리 알아두기!



📖 [2] 느슨한 결합력과 인터페이스

✅ 어떤 객체를 수정해야 한다면?

  • Service Layer: 사용자의 요구, 커스토머의 요구를 담당하고 있는 레이어

  • Dao: Data Access Object, Service Layer에서 자바를 이용하여 데이터를 제공할 수 있도록 해준다.

  • 프로그램 B1을 수정하기 위해서는
    ① B1 자체를 수정하거나
    ② 새로운 B2를 생성하여 덮어쓰기
    👉 결합력이 높아 Service Layer 수정필요


Interface, XML 도입

  • 앞서 말했던 결합력을 낮추기 위해 도입된 개념
  • XML은 Dao를 마음대로 바꿔낄 수 있도록 하는 외부설정파일
  • or Annotation도 마찬가지

📖 [3] DI(Dependency Injection)

✅ 스프링 프레임워크

  • 스프링 프레임워크 코어기능 = 종속 객체를 조립해주는 도구
  • DI(Dependency Injection) = 부품조립
  • IoC Container

✅ DI의 개념

  • B는 A의 부품 = Dependency

  • a.setB(b)는 a라는 요소에 b를 조립하는 것 == injection
    - 위처럼 setter를 사용하는 방법
    - 생성자를 이용해 조립(Injection)하는 방법이 있다.

  • 👉 스프링이 DI(부품조립)를 해준다. 스프링을 사용하는 이유


📖 [4] IoC 컨테이너

✅ IoC 컨테이너 개념

  • 역순으로 요소들을 결합하도록 해주는 컨테이너
    👉 Inverse of Controller Container

  • 이런 기능도 Spring framework가 제공한다.

profile
S.W Developer

0개의 댓글