스프링 튜토리얼 – 스프링 코어 프레임워크 튜토리얼

은 가장 널리 사용되는 Java EE 프레임워크 중 하나입니다. Spring 튜토리얼에 대해 많이 썼고, 이는 모든 튜토리얼을 차례대로 통과하기 위한 색인으로 작동하는 요약 게시물입니다.

Spring 튜토리얼

모든 Spring 튜토리얼에는 해당 튜토리얼 페이지에서 다운로드할 수 있는 예제 프로젝트가 포함되어 있습니다.

Spring Core 튜토리얼

Spring Framework는 의존성 주입관점 지향 프로그래밍 두 가지 설계 원칙에 기반합니다. 아래 튜토리얼을 통해 핵심 spring 개념과 구현 예제에 대해 알아보세요.

  1. Spring Framework Spring Framework의 진화, 아키텍처, 핵심 구성 요소 및 이 놀라운 프레임워크의 개발을 안내하는 원칙에 대해 간략하게 살펴봅니다.
  2. 의존성 주입 Java 예제 이 게시물은 의존성 주입의 기본 개념과 간단한 자바 애플리케이션에서 DI 패턴을 구현하는 방법을 제공합니다. 이것은 출발점이며 그 다음에는 Spring 의존성 주입으로 넘어갈 수 있습니다.
  3. Spring 의존성 주입 이 튜토리얼은 의존성 주입 예제를 Spring 프레임워크에서 어노테이션 기반 구성과 XML 기반 구성 두 가지 모두로 제공합니다. 이 튜토리얼에는 구현을 검증하기 위한 JUnit 테스트 프로그램도 포함되어 있습니다.
  4. Spring AOP 예제 이 튜토리얼은 Aspect-Oriented Programming의 핵심 개념인 Aspect, Advice, Pointcut, Joinpoint, AOP Proxy 및 Weaving에 대해 설명합니다. 이 튜토리얼은 간단한 프로그램과 함께 다양한 유형의 Advice에 대해 설명합니다.
  5. Spring AOP 메소드 프로파일링
  6. Spring IoC 컨테이너와 Spring Bean 예제 튜토리얼 이 튜토리얼은 예제 프로그램을 통해 Spring IoC 컨테이너와 Spring Bean의 핵심 개념을 설명하는 것을 목표로 합니다. 이 튜토리얼은 IoC 컨테이너와 그 핵심 클래스, 그리고 ApplicationContext를 생성하는 다양한 방법에 대해 설명합니다. 또한, XML, 어노테이션, 자바 기반으로 Spring Bean을 구성하는 다양한 방법에 대해서도 예제 프로젝트를 통해 설명합니다.
  7. Spring Bean 스코프 Spring Bean 스코프를 사용하면 빈 인스턴스 생성에 대한 더 세분화된 제어가 가능합니다.
  8. Spring Bean 자동 주입 예제 Spring IoC 컨테이너는 “spring autowire” 속성을 통해 의존성 주입을 위한 빈을 스마트하게 찾아냅니다. 이 튜토리얼은 예제 프로젝트를 통해 다양한 유형의 자동 주입에 대해 설명합니다.
  9. 스프링 빈 라이프 사이클 스프링 빈은 스프링 애플리케이션의 가장 중요한 부분입니다. 스프링 ApplicationContext는 스프링 빈 구성 파일에서 정의된 스프링 빈을 초기화하는 역할을 합니다. 이 튜토리얼에서는 스프링 빈에 후 초기화전 소멸 메서드를 제공하는 다양한 방법에 대해 설명합니다 – InitializingBean/DisposableBean 인터페이스 또는 init-method/destroy-method 속성. 스프링 프레임워크는 또한 post-init 및 pre-destroy 메서드를 정의하기 위한 @PostConstruct@PreDestroy 어노테이션도 지원합니다. 이러한 어노테이션은 javax.annotation 패키지의 일부입니다. 또한 스프링 빈에 Servlet API 객체를 주입하는 데 사용할 수 있는 Spring Aware 인터페이스에 대해 알아볼 것입니다.
  10. 스프링 5 스프링 5는 2017년 말에 출시되었습니다. 스프링 5는 스프링 프레임워크에 대한 대규모 업데이트를 가져왔습니다.
  11. 스프링 WebFlux 스프링 WebFlux는 스프링 5에서 소개된 새로운 모듈입니다. 스프링 WebFlux는 스프링 프레임워크에서 반응형 프로그래밍 모델로 나아가는 첫 번째 단계입니다.
  12. Spring Data JPA Spring Data JPA는 Spring Data 패밀리의 일부입니다. Spring Data는 비관계형 데이터베이스, 맵-리듀스 프레임워크, 클라우드 서비스뿐만 아니라 고급 관계형 데이터베이스 지원과 같은 새로운 데이터 액세스 방식을 사용하는 Spring 기반 애플리케이션을 쉽게 만들 수 있게 해줍니다.

Spring Annotations

  1. Spring Annotations 스프링 프레임워크에서 가장 중요한 어노테이션을 간략히 살펴보겠습니다.
  2. Spring @Bean Spring @Bean 어노테이션은 Spring 컨텍스트에서 관리되는 빈을 반환하는 메소드에 적용됩니다. Spring Bean 어노테이션은 주로 구성 클래스의 메소드에서 선언됩니다.
  3. Spring @Service Spring @Service 어노테이션은 @Component 어노테이션의 특수화된 형태입니다. Spring Service 어노테이션은 클래스에만 적용할 수 있습니다. 이는 클래스를 서비스 제공자로 표시하는 데 사용됩니다.
  4. Spring @Component Spring Component 어노테이션은 클래스를 Component로 표시하는 데 사용됩니다. 이것은 Spring 프레임워크가 주석 기반 구성과 클래스 패스 스캐닝을 사용하여 의존성 주입을 위해 이러한 클래스를 자동으로 감지할 것임을 의미합니다.
  5. Spring @RestController Spring RestController 어노테이션은 편의 어노테이션으로, @Controller@ResponseBody로 주석이 달린 어노테이션입니다. 이 어노테이션은 클래스를 요청 핸들러로 표시하는 데 사용됩니다.
  6. Spring @Controller Spring Controller 어노테이션은 @Component 어노테이션의 특수화된 형태입니다. Spring Controller 어노테이션은 일반적으로 RequestMapping 어노테이션을 기반으로 한 주석이 달린 핸들러 메소드와 함께 사용됩니다.
  7. Spring @Repository Spring @Repository 어노테이션은 클래스가 객체에 대한 저장, 검색, 검색, 업데이트 및 삭제 작업을 제공하는 메커니즘을 제공함을 나타냅니다.
  8. Spring @Configuration Spring @Configuration 어노테이션은 스프링 코어 프레임워크의 일부입니다. Spring Configuration 어노테이션은 클래스에 @Bean 정의 메서드가 있다는 것을 나타냅니다. 따라서 스프링 컨테이너는 해당 클래스를 처리하고 응용 프로그램에서 사용할 수 있는 스프링 빈을 생성할 수 있습니다.
  9. Spring @Value Spring @Value 어노테이션은 변수와 메서드 인수에 기본값을 할당하는 데 사용됩니다. 우리는 @Value 어노테이션을 사용하여 스프링 환경 변수 및 시스템 변수를 읽을 수 있습니다.
  10. Spring @PropertySource Spring @PropertySource 어노테이션은 스프링 환경에 속성 파일을 제공하는 데 사용됩니다. 이 어노테이션은 @Configuration 클래스와 함께 사용됩니다.
  11. Spring @PostConstruct 및 @PreDestroy Spring Bean의 메소드에 @PostConstruct 어노테이션을 사용하면 스프링 빈이 초기화된 후에 실행됩니다. Spring Bean 메소드에 PreDestroy 어노테이션을 사용하면 빈 인스턴스가 컨텍스트에서 제거될 때 호출됩니다.
  12. Spring @Async Spring @Async 어노테이션은 스프링에서 비동기 메소드를 생성할 수 있게 해줍니다. 이 튜토리얼에서 스프링 프레임워크의 @Async을 살펴보겠습니다.

Spring Boot 튜토리얼

  1. Spring Boot 튜토리얼
  2. Spring Boot 구성 요소
  3. Spring Boot @SpringBootApplication, SpringApplication Class 스프링 부트 @SpringBootApplication 주석은 하나 이상의 @Bean 메서드를 선언하고 자동 구성 및 컴포넌트 스캔을 트리거하는 설정 클래스를 표시하는 데 사용됩니다. Spring Boot SpringApplication 클래스는 Java 메인 메서드에서 스프링 애플리케이션을 부트스트랩하고 실행하는 데 사용됩니다.
  4. Spring Boot REST 이 튜토리얼에서는 Spring Boot 모듈을 사용하여 REST 웹 서비스를 생성하는 방법을 설명합니다.
  5. Spring Boot MongoDB Spring Boot 애플리케이션에서 MongoDB를 사용하는 방법에 대해 배우세요.
  6. Spring Boot Redis Cache 이 문서에서는 Redis Cache를 스프링 부트 애플리케이션에 통합하는 방법을 설명합니다.
  7. Spring Boot Elasticsearch 이 문서에서는 Elasticsearch를 스프링 부트 애플리케이션에 통합하는 방법을 설명합니다.
  8. Spring Boot Actuator 엔드포인트 Spring Boot Actuator 엔드포인트는 애플리케이션을 모니터링하고 상호 작용할 수 있게 해줍니다. Spring Actuator는 Spring Boot의 하위 모듈이며, 애플리케이션에 대해 활성화 및 비활성화할 수 있는 내장된 엔드포인트를 제공합니다.
  9. Spring Boot Initializr 웹 인터페이스
  10. Spring Boot CLI 예제
  11. Spring Boot – 내장된 데이터베이스 드라이버 클래스를 결정할 수 없습니다. 데이터베이스 유형: NONE
  12. Spring Boot 인터뷰 질문

Spring MVC 튜토리얼

  1. Spring Tool Suite를 사용한 초보자를 위한 Spring MVC 튜토리얼 Spring MVC 모듈은 자바 기반 웹 애플리케이션을 만드는 데 도움이 됩니다. 이것은 spring MVC 시리즈에서 첫 번째 게시물이며, Spring MVC 프레임워크를 사용하여 간단한 웹 애플리케이션을 만드는 방법과 Spring Tool Suite (STS)를 사용하는 방법을 배우게 될 것입니다.
  2. Spring MVC 예제이 자습서는 Spring MVC 애플리케이션을 만드는 방법을 설명합니다. Maven과 Eclipse IDE를 사용하며 Spring Tool Suite를 사용하지 않습니다.
  3. JSON을 사용한 Spring Restful 웹 서비스 예제 Spring 프레임워크는 내장된 Jackson JSON API 지원을 제공하며, 이를 활용하여 JSON 응답을 반환하는 Restful 웹 서비스를 생성할 수 있습니다. 이 자습서에서는 JSON 응답을 반환하고 Rest API를 구현하기 위해 필요한 애플리케이션의 다양한 부분을 설명합니다.
  4. Spring REST XML과 JSON Spring REST는 XML과 JSON 기반의 요청-응답 메시지를 모두 지원합니다. 이 자습서에서는 간단한 구성을 사용하여 두 가지를 모두 지원하는 방법을 설명합니다.
  5. Spring RestTemplate Spring RestTemplate은 RESTful 웹 서비스를 테스트하기 위한 편리한 방법을 제공합니다. RestTemplate을 사용하여 HTTP 기반의 RESTful 웹 서비스를 테스트할 수 있으며, HTTPS 프로토콜은 지원하지 않습니다.
  6. Spring MVC 파일 업로드 예제 파일 업로드는 웹 응용 프로그램의 일반적인 작업 중 하나입니다. 그래서 Spring은 Apache Commons FileUpload API를 통합하여 파일 업로드에 대한 내장 지원을 제공합니다. 이 튜토리얼은 단일 및 다중 파일을 업로드하는 예제를 통해 다양한 구성 요소가 어떻게 구성되는지 이해하는 데 목적이 있습니다.
  7. Spring MVC 국제화 및 로컬라이제이션 예제 전 세계의 사용자가 있는 웹 응용 프로그램에서 국제화(i18n) 또는 로컬라이제이션(L10n)은 사용자와의 더 나은 상호 작용을 위해 매우 중요합니다. 대부분의 웹 응용 프로그램 프레임워크는 사용자 로케일 설정에 따라 애플리케이션을 로컬라이즈하는 간단한 방법을 제공합니다. Spring도 이러한 패턴을 따르며 Spring 인터셉터, 로케일 리졸버 및 다양한 로케일에 대한 리소스 번들을 통해 광범위한 국제화(i18n) 지원을 제공합니다. 이 튜토리얼은 예제 프로젝트를 통해 Spring 웹 응용 프로그램에서의 i18n 및 l10n 프로세스를 설명합니다.
  8. Spring MVC 양식 유효성 검사 예제 웹 애플리케이션에서 사용자 입력을 받을 때 유효성을 검사할 필요가 있습니다. 우리는 JavaScript를 사용하여 클라이언트 측에서 사용자 입력을 유효성 검사할 수 있지만, 사용자가 JavaScript를 비활성화한 경우에도 서버 측에서 유효성을 검사하여 유효한 데이터를 처리하는 것이 필요합니다. Spring MVC 프레임워크는 기본적으로 JSR-303 사양을 지원하며, Spring MVC 애플리케이션에 JSR-303과 해당 구현 의존성을 추가하기만 하면 됩니다. Spring은 또한 @Validator 주석과 BindingResult 클래스를 제공하여 컨트롤러 요청 핸들러 메소드에서 Validator 구현에 의해 발생한 오류를 가져올 수 있습니다. 이 튜토리얼은 주석을 사용한 양식 유효성 검사 예제를 제공하며, 직접 커스텀 Validator를 만드는 과정도 설명합니다.
  9. Spring MVC 예외 처리 모든 웹 애플리케이션은 예외 처리에 대한 좋은 설계가 필요합니다. 우리는 애플리케이션에서 처리되지 않은 예외가 발생할 때 컨테이너에서 생성된 페이지를 제공하고 싶지 않습니다. Spring MVC 프레임워크는 컨트롤러 클래스, 전역 예외 처리기 및 HandlerExceptionResolver 구현을 통해 견고한 예외 처리 접근 방식을 제공합니다. Spring MVC 예외 처리에 대해 더 자세히 알아보려면 튜토리얼의 예제 프로젝트를 확인하세요.
  10. Spring MVC 인터셉터 예제 때로는 HTTP 요청을 가로채서 컨트롤러 핸들러 메소드에 넘기기 전에 처리해야 할 작업이 있습니다. 이때 Spring MVC 인터셉터가 유용합니다. Spring에서는 org.springframework.web.servlet.HandlerInterceptor 인터페이스를 구현하거나 이 인터페이스의 기본 구현을 제공하는 org.springframework.web.servlet.handler.HandlerInterceptorAdapter 추상 클래스를 재정의하여 자체적인 인터셉터를 생성할 수 있습니다. Spring MVC 인터셉터에 대해 더 자세히 알아보려면 튜토리얼의 예제 프로젝트를 확인해보세요.
  11. Spring MVC RequestMapping 예제 @RequestMapping은 가장 널리 사용되는 Spring MVC 주석 중 하나입니다. org.springframework.web.bind.annotation.RequestMapping 주석은 웹 요청을 특정 핸들러 클래스나 메소드에 매핑하는 데 사용됩니다. @RequestMapping은 컨트롤러 클래스와 메소드에 모두 적용할 수 있습니다. 이 튜토리얼에서는 다양한 사용법과 예제 프로그램에 대해 설명합니다.
  12. Spring 세션 관리 Spring 세션 모듈은 웹 애플리케이션에서 사용자 세션을 관리하기 위한 API와 구현을 제공합니다. Spring 세션은 세션 관리 로직을 애플리케이션에서 분리하여 오류에 더 강건하게 만듭니다. Spring 세션은 다음 모듈로 구성됩니다: Spring 세션 코어, Spring 세션 JDBC, Spring 세션 데이터 Redis 및 Spring 세션 Hazelcast.
  13. Spring MVC Gradle 예제

Spring 배치 튜토리얼

  1. Spring 배치 Spring 배치를 사용하면 일괄 처리를 통해 대량의 레코드를 쉽게 처리할 수 있습니다. 이 문서에서는 Spring 배치의 개념, 아키텍처 및 Spring 배치 애플리케이션을 사용하는 시기에 대해 설명합니다.
  2. Spring 배치 예제 이 튜토리얼에서는 대용량 CSV 파일을 처리하는 Spring 배치 프로젝트를 만드는 방법에 대해 설명합니다.

Spring JDBC 튜토리얼

대부분의 기업 응용 프로그램은 관계형 데이터베이스와 관련이 있습니다. 그래서 Spring은 JDBC API에 대한 포괄적인 지원을 제공하며, 데이터베이스 CRUD 작업을 수행하기 위한 래퍼를 제공합니다.

  1. Spring JDBC 및 JdbcTemplate을 사용한 DataSource 예제 Spring Framework는 JDBC API와 탁월한 통합을 제공하며, 우리는 데이터베이스 작업 로직에서 연결 열기/닫기, ResultSet, PreparedStatement 등의 보일러플레이트 코드를 피하기 위해 사용할 수 있는 JdbcTemplate 유틸리티 클래스를 제공합니다. 이 자습서에서는 Spring JDBC 통합을 사용한 CRUD 작업 예제를 제공합니다.
  2. Tomcat에서 Spring DataSource JNDI 예제 또한, JNDI를 사용한 DataSource가 연결 풀링을 구현하고 컨테이너 구현의 이점을 얻는 선호되는 방법임을 알고 있습니다. 이 자습서에서는 tomcat 컨테이너에 정의된 DataSource를 JNDI 리소스로 사용하여 데이터베이스 연결을 가져오고 다양한 작업을 수행하는 방법을 설명합니다. 이는 스프링 웹 애플리케이션에서 데이터베이스 연결을 가져오는 선호되는 방법입니다. 컨테이너가 데이터베이스 리소스 관리를 담당하기 때문입니다.
  3. JDBC를 사용한 Spring 트랜잭션 관리 예제 트랜잭션 관리는 기업 응용 프로그램에서 일반적인 작업입니다. Spring은 트랜잭션 관리에 대한 광범위한 지원을 제공하며, 데이터 무결성에 대해 걱정할 필요 없이 개발자가 비즈니스 로직에 더 집중할 수 있도록 도와줍니다. Spring 선언적 트랜잭션 관리는 사용하기 매우 쉽고 직접적인 종속성이 없기 때문에 트랜잭션 관리의 선호되는 접근 방식입니다. 이는 AOP 및 의존성 주입을 사용합니다.
  4. Spring JdbcTemplate Spring JdbcTemplate 클래스는 Spring JDBC 모듈의 핵심입니다. SQL 쿼리 실행, 결과 집합 데이터 읽기 등 다양한 메서드를 제공합니다.

Spring Hibernate 튜토리얼

Spring은 가장 널리 사용되는 Java EE 프레임워크 중 하나이며, Hibernate는 시장에서 최고의 ORM 프레임워크입니다. 이것이 Spring이 Spring ORM 모듈에서 Hibernate에 대한 내장 지원을 제공하는 이유입니다.

  1. Spring Hibernate 통합 예제 이 튜토리얼은 Hibernate를 Spring 독립 실행 애플리케이션과 통합하는 방법에 대한 예제와 완전한 세부 정보를 제공합니다. 이 예제는 Spring 4 + Hibernate 4 및 Spring 4 + Hibernate 3 간의 통합을 보여줍니다.
  2. Spring MVC Hibernate CRUD 예제 Spring MVC는 Hibernate 프레임워크와 쉽게 통합할 수 있습니다. 또한, 우리는 Spring Declarative 트랜잭션 관리를 활용할 수 있어서, 우리의 애플리케이션은 보일러플레이트 코드 없이도 작동할 수 있습니다.
  3. Spring ORM 예제
  4. Spring ORM과 AOP 트랜잭션 관리

Spring Security 튜토리얼

Spring Security는 모든 Java 웹 애플리케이션에 적용할 수 있으며, 애플리케이션의 독립된 부분으로 작동하며 인증 및 권한 부여에 대한 다양한 방법을 제공합니다.

  1. 서블릿 웹 애플리케이션에서의 Spring Security 이 튜토리얼은 Spring Security 모듈의 기본 개념을 설명합니다. 또한, 예제 프로젝트를 통해 인메모리, DAO 및 JDBC 기반의 인증을 제공합니다.
  2. Spring MVC Security 예제 만약 Spring MVC 프레임워크를 사용한다면, Spring 기반의 설정이 이미 존재하기 때문에 Spring Security를 적용하는 것은 매우 쉽습니다. 우리가 해야 할 일은 보안 관련 설정을 플러그인하는 것뿐입니다.
  3. Spring 4 Security 이 문서는 Spring 4에서 도입된 Spring Security 모듈에 대해 설명합니다.
  4. Spring Security MVC 이 문서는 Spring MVC 애플리케이션에 Spring Security를 사용하는 방법에 대해 설명합니다.
  5. Spring Security Role Based Access Authorization

Spring Integration 튜토리얼

  1. Spring JSF 통합 예제 튜토리얼 JSF는 사용자 인터페이스에 큰 강점을 가진 구성 요소 기반 프레임워크이고, Spring의 핵심 원칙은 의존성 주입입니다. 이 튜토리얼은 JSF와 Spring 프레임워크를 통합하여 최상의 결과를 얻는 방법을 설명합니다.
  2. Primefaces Spring & Hibernate 통합 예제 튜토리얼 이는 PrimeFaces를 Spring과 Hibernate 프레임워크와 통합하는 방법을 설명한 통합 예제 중 하나입니다. 이는 각각의 프레임워크를 최대한 활용하기 위해 매우 흔히 사용되는 조합입니다.
  3. PrimeFaces Hibernate SpringRoo 통합 예제 SpringRoo는 Java 기반의 엔터프라이즈 소프트웨어 애플리케이션을 명령줄 기반으로 생성하는 컨벤션 오버 구성 개념을 사용하는 오픈 소스 소프트웨어 도구입니다. 이 튜토리얼은 SpringRoo, PrimeFaces 및 Hibernate 프레임워크 간의 통합에 대해 설명합니다.

Spring Messaging

  1. Spring AMQP
  2. Spring RabbitMQ
  3. Spring RabbitMQ 예제
  4. Spring ActiveMQ Part 1
  5. Spring ActiveMQ Part 2

봄 인터뷰 질문

만약 Java EE 인터뷰를 위해 Spring이 필요한 경우,이 게시물이 지식을 빠르게 갱신하는 데 도움이 되기를 바랍니다. 지금은 스프링 튜토리얼이 다입니다. Spring 프레임워크에는 많은 모듈이 있으며 향후 이에 대해 게시할 것이며 여기에 계속 포함할 것입니다. 그래서 미래를 위해이 게시물을 즐겨찾기하시기 바랍니다.

Source:
https://www.digitalocean.com/community/tutorials/spring-tutorial-spring-core-tutorial