티스토리 뷰

Spring은 엔터프라이즈 애플리케이션 구축에 가장 널리 사용되는 Java 프레임워크 중 하나로, REST API부터 전체 규모의 마이크로서비스까지 모든 것을 개발할 수 있는 모듈식 포괄적인 에코시스템을 제공한다.

 

Spring의 핵심 개념

  • Inversion of Control (IoC) and Dependency Injection (DI)
    • 목적
      : 종속성의 생성 및 주입을 관리해 긴밀하게 결합된 코드의 필요성을 줄인다.
    • 예시
      : UserRepository에 의존하는 UserService, 여기서 Spring은 UserRepositoryUserService에 주입한다.
    • 준비
      : DI의 개념, 필드 주입을 위해 @Autowired를 사용하는 방법, @Component, @Service 및 @Repository 어노테이션으로 bean을 구성하는 방법을 이해해야 한다.
  • Spring MVC
    • 목적
      : 컨트롤러를 사용하여 요청을 처리하고 뷰를 반환하는 Spring에서 웹 애플리케이션을 만들기 위한 Model-View-Component 모듈이다.
    • 예시
      : 제품 관련 요청을 처리하고 JSON 형식의 제품 목록을 반환하는 ProductController
    • 준비
      : @Contoroller와 @RequestMapping의 기본 사항, GET 및 POST 요청을 처리하고 @ResponseBody를 사용해 JSON 응답을 반환하는 방법을 알고 있어야 한다.
  • Spring Boot
    • 목적
      : 임베디드 서버 및 자동 구성을 통해 의견에 따라 접근 방식을 제공해 Spring 애플리케이션 개발을 간소화한다.
    • 예시
      : Spring Boot로 메인 클래스에 @SpringBootAppliction 주석을 달아 설정한 RESTful 웹 서비스
    • 준비
      : Spring Boot의 목적, Spring Initializr로 기본 프로젝트를 설정하는 방법, 명시적인 XML 구성 없이 애플리케이션을 구성하고 실행하는 방법을 이해해야 한다.
  • Spring Data
    • 목적
      : JPA 및 NoSQL을 위한 사용하기 쉬운 저장소 주상화를 제공해 데이터베이스 액세스를 간소화한다.
    • 예시
      : Customer 엔터티에 대한 CRUD 작업을 처리하기 위해 JpaRepository를 확장하는 CustomerRepository 인터페이스.
    • 준비
      : JpaRepository 및 일반적인 쿼리 어노테이션(@Query)에 익숙해지고 상용구 코드를 줄이기 위한 Spring Data의 이점에 대한 이해가 필요하다.
  • Spring Security
    • 목적
      : 애플리케이션 보안을 위한 인증 및 권한 부여 기능을 제공한다.
    • 예시
      : EnableWebSecurity를 사용해 웹 애플리케이션을 보호하고 역할 및 권한을 정의한다.
    • 준비
      : Spring Security의 기본 사항과 인증을 구성하는 방법을 알고 메서드 수준 보안을 위해 @PreAuthorize를 사용해야 한다.
  • Spring AOP (Aspect-Oriented Programming)
    • 목적
      : 메서드에 advice를 적용해 교차되는 문제(예: 로깅, 트랜잭션)을 분리할 수 있다.
    • 예시
      : @Berfore 및 @After advice를 사용해 메서드 실행 시간 기록.
    • 준비
      : AOP 용어 (aspect, advice, pointcut)와 로깅 또는 보안과 같은 기본 사용 사례를 이해해야 한다.
  • Spring Cloud (마이크로서비스 용)
    • 목적
      : 서비스 검색, 로드 밸런싱 및 분산 구성과 같은 기능을 통해 분산 시스템 및 마이크로서비스를 구축할 수 있는 도구를 제공한다.
    • 예시
      : 서비스 검색을 위해 Netflix Eureka를 사용하고 클라이언트 측 로드 밸런승을 위해 Ribbon을 사용하도록 마이크로서비스 구성.
    • 준비
      : 해당 직책과 관련된 경우 Spring Cloud의 기본 사항, Eureka를 사용한 서비스 검색, 로드 밸런싱 및 마이크로서비스의 통신 방법을 이해해야 한다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형