Spring (7) 썸네일형 리스트형 [Spring Boot] DI(Dependency Injection: 의존성 주입) 란 무엇인가? DI의 주요 개념IoC (Inversion of Control):전통적인 방식에서는 객체가 직접 자신의 의존성을 생성하거나 관리합니다. IoC는 이러한 제어의 흐름을 개발자가 아닌 컨테이너(Sprint Container)에게 맡기는 개념입니다.빈(Bean):Spring 컨테이너가 관리하는 객체를 빈이라고 합니다. 빈은 Spring 애플리케이션 컨텍스트에 의해 생성되고 관리됩니다.컨테이너(Container):Spring에서는 ApplicationContext가 컨테이너 역할을 하며, 애플리케이션의 빈을 생성, 설정, 관리합니다.DI 유형필드 주입(Field Injection):필드에 직접 주입하는 방식입니다.생성자 주입(Constructor Injection):생성자를 통해 의존성을 주입받는 방식입니다.세.. [Spring Boot] Spring Boot에서 JWT 토큰 발급 및 인증 해보기!! Spring Boot에서 JWT 토큰을 발급하고 검증하는 방법을 설명드리겠습니다. JWT를 사용한 인증을 구현하기 위해 Spring Security와 함께 JWT 라이브러리를 사용합니다. 여기서는 기본적인 설정과 함께 JWT 토큰을 발급하고 검증하는 예제를 소개 하겠습니다. 프로젝트 설정먼저, 필요한 의존성을 build.gradle (또는 pom.xml에 추가해야 합니다.)Gradledependencies { implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'io.j.. [Spring Boot] AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)란 무엇인가? Spring Boot에서 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)는 코드의 중복을 줄이고, 모듈성을 향상시키기 위한 강력한 도구입니다. AOP는 주로 애플리케이션의 로깅, 트랜잭션 관리, 보안, 예외 처리 등 횡단 관심사(Cross-Cutting Concerns)를 처리하는 데 사용됩니다.AOP의 기본 개념Aspect(애스펙트): 횡단 관심사를 모듈화한 것입니다. 예를 들어, 로깅이나 트랜잭션 관리 기능이 하나의 Aspect가 될 수 있습니다.Join Point(조인 포인트): 애플리케이션 실행 중 특정 지점입니다. 메서드 호출이나 예외 처리 등 여러 종류의 Join Point가 있습니다.Advice(어드바이스): 특정 Join Point에서 실행될 코드를 정의합.. Spring Native Image 란 무엇인가? Graal VM 이란? Graal VM은 Oracle이 개발한 고성능 가상 머신입니다. Graal VM은 다양한 언어를 지원하며, 특히 Java 언어에 최적화되어 있습니다. 이 가상 머신은 기존의 JVM(Java Virtual Machine)과는 다른 컴파일러를 사용하여 더 빠른 실행 속도와 낮은 메모리 사용량을 제공합니다. Graal VM은 JIT(Just-In-Time) 컴파일러와 AOT(Ahead-of-Time) 컴파일러를 모두 지원하여, 실행 시점에 최적화된 코드를 생성하거나 미리 컴파일하여 더 효율적인 실행을 가능하게 합니다. 또한, 다른 언어를 JVM 위에서 실행할 수 있는 기능을 제공하여, 다양한 언어 간의 상호 운용성을 향상시킬 수 있습니다. Graal VM은 다양한 분야에서 사용될 수 있.. [개념] Spring Framework와 Spring boot에 대해 알아보자! Spring Framework와 Spring Boot는 모두 Java 기반의 프레임워크로, 웹 애플리케이션 및 서비스를 개발하는 데 사용됩니다. 그러나 두 프레임워크 간에는 몇 가지 중요한 차이가 있습니다. 1. 초기 설정과 설정의 용이성: Spring Framework: 초기에는 XML 기반의 설정이 많이 사용되었습니다. Annotation 기반 설정이 도입되었지만 여전히 일부 설정은 XML을 사용할 수 있습니다. 프로젝트를 시작하기 위해 많은 설정이 필요할 수 있습니다. Spring Boot: 스프링 부트는 기본적인 설정을 자동으로 제공하는 "초기화 자동화"에 중점을 두고 있습니다. Convention over Configuration 원칙을 따르므로 개발자가 추가 설정을 하지 않아도 기본적인 설정이.. [Reactive Java] Spring WebFlux에서 Error 다루기 애플리케이션을 설계하고 개발할 때 다양한 케이스의 예외 상황을 고려해야 하는 것처럼, 리액티브 애플리케이션을 설계할 때도 모든 종류의 예외 상황을 처리 할 수 있어야 한다. 우리가 알고 있는 onError 시그널은 리액티브 스트림 스펙의 필수 요소여서 예외를 처리할 수 있는 경로로 전파 할 수 있다. 그러나 최종 구독자가 onError 시그널에 대한 핸들러를 정의하지 않으면 onError는 UnsupportedOperationException을 발생 시킨다.그리고 리액티브 스트림에서는 onError가 스트림이 종료되었다고 정의하고 있다. 그렇기 때문에 onError 시그널을 받으면 시퀀스가 실행을 중지하게 된다. 아래 onError 시그널을 처리할 수 있는 다양한 방법을 살펴보자.1. subscribe .. [IT 책갈피] Spring Framework 3.x -> 4.x Web Application migration Spring Framwork 3.x에서 4.x로 웹어플리케이션 갈아타기 Spring Framework 3.x 기반으로 개발된 웹어플리케이션에서 Servlet 3.0, Spring Framework 4.x 버전으로 갈아타는 법을 함께 해보자. [JAVA8과 만나고 싶다면 피할 수 없는 작업이다. JAVA8은 Spring Framework 4.x에서만 지원되고 있다.] 1. 메이븐 형식의 프로젝트, pom.xml파일에 서블렛 버전 설정하기 2. web.xml파일에 version 업데이트 및 xsd 파일 수정. 3. pom.xml에 Spring Framework의 라이브러리(jar)를 4.x로 설정한다. 4. 스프링 Context설정 파일의 스키마 로케이션 정보 업데이트(spring-servlet.xml 파일.. 이전 1 다음