스프링의 핵심 | 스프링의 기능

Faithful Dev·2025년 2월 20일

스프링 프레임워크

목록 보기
4/20

의존성 주입 (DI, Dependency Injection)

  • 객체 간의 의존성을 프레임워크가 자동으로 관리하여 코드의 결합도를 낮추고, 유지보수를 쉽게 만든다.
  • @Autowired, @Inject, @Component, @Service 등의 어노테이션을 사용한다.

AOP (Aspect-Oriented Programming)

  • 핵심 비즈니스 로직과 부가적인 기능(로깅, 보안, 트랜잭션 등)을 분리하여 모듈화하는 기법이다.
  • @Aspect, @Before, @After, @Around 등의 어노테이션을 사용한다.

트랜잭션 관리

  • 데이터 일관성을 유지하기 위해 트랜잭션을 관리한다.
  • @Transactional 어노테이션을 사용하여 선언적 트랜잭션을 쉽게 적용할 수 있다.

MVC 패턴 (Spring MVC)

  • 웹 애플리케이션 개발을 위한 Model-View-Controller 아키텍처를 제공한다.
  • 주요 컴포넌트:
    • Controller: @Controller, @RestController
    • View: JSP, Thymeleaf
    • Model: DTO, VO 등

스프링 부트 (Spring Boot)

  • 스프링 설정을 자동화하여 빠른 개발을 지원하는 프레임워크이다.
  • 주요 특징:
    • 자동 설정 (@SprintBootApplication)
    • 내장 웹 서버 (Tomcat, Jetty)
    • JPA, MyBatis 등과 쉬운 통합

데이터 접근 (Spring Data JPA)

  • JPA를 기반으로 데이터베이스 접근을 쉽게 만들어 준다.
  • @Entity, @Repository, @Query 등의 어노테이션을 사용한다.

스프링 시큐리티 (Spring Security)

  • 인증과 권한 관리를 제공하는 강력한 보안 프레임워크이다.
  • OAuth2, JWT, 세션 기반 인증 등을 쉽게 구현할 수 있다.

RESTful API 개발

  • @RestController, RequeestMapping 어노테이션을 사용하여 REST API를 쉽게 구축할 수 있다.
  • Swagger, OpenAPI 등의 도구와 연동 가능하다.

스프링 배치 (Spring Batch)

  • 대량 데이터 처리 및 스케줄링이 필요한 작업을 지원한다.
  • Job, Step, Tasklet 등의 개념을 사용한다.

스프링 클라우드 (Spring Cloud)

  • 마이크로서비스 아키텍처(MSA) 구축을 위한 도구들을 제공한다.
  • 주요 기능:
    • 서비스 디스커버리 (Eureka)
    • API Gateway (Spring Cloud Gateway)
    • 분산 트랜잭션 (Sleuth, Zipkin)
    • Config Server (환경 설정 관리)
profile
Turning Vision into Reality.

0개의 댓글