BackEnd(Java)/Spring Boot(20)
-
스프링 IoC/DI 부먹
✅ 아래 내용들에 대해서 알아보자- 스프링 컨테이너로 빈 관리를 안 하면? 1편에 이어서.. 스프링 컨테이너로 빈 관리를 안 하면?스프링 컨테이너(Bean Factory 또는 ApplicationContext)에 등록된 빈(Bean)은 스프링의 생명주기 관리, 의존성 주입, 프락시 생성 등을 통해 다양한 기능을 활용할 수 있습니다. 반면, new로 생성한 객체는 스프링의 관리 범위 밖에 있으므로 아래와 같은 기능을 사용할 수 없습니다. 1. AOP (Aspect-Oriented Programming)스프링의 AOP는 주로 프록시 패턴을 통해 구현됩니다. @Transactional, @Around, @Before 같은 AOP 기능은 스프링이 빈을 프록시 객체로 감싸서 제공합니다. @Transactiona..
2025.03.10 -
JWT & OAuth 정리
✅ 아래 내용들에 대해서 알아보자 - JWT - AccessToken/Refresh Token - OAuth JWT Json Web Token(JWT)는 웹 표준 방식으로 JSON 객체를 사용해서 인증/인가 처리를 진행할 때 사용된다. 보통 회원 인증처리에 사용되며 프로세스에 대해서 알아보자 1. 회원 인증 처리할 때 유저가 로그인 시 토큰을 발급하여 유저에게 전달하고 유저가 서버에 요청할 때마다 토큰을 HTTP Header에 포함하여 전달한다. 2. 서버 측에서는 Header에 있는 토큰을 통해 검증/권한 확인 후 작업을 처리하게 된다. 3. JWT을 통해서 처리하기 때문에 서버 측에서는 세션을 관리할 필요가 없게 되므로 자원을 아끼게 되고 세션을 관리하게 되면 중앙집중형 방식으로 진행하게 돼서 서버 ..
2023.06.01 -
@Meta Annotation에 대해서 알아보자
✅ 아래 내용들에 대해서 알아보자 - 메타 어노테이션이란 - 메타 어노테이션 종류 - 예시 코드 메타 어노테이션 메타 어노테이션이란 java 코드에 메타 정보를 추가할 수 있는 구문의 한 형태. 클래스, 메서드, 변수, 매개변수 및 java 패키지에 어노테이션을 달 수 있다. 해당 어노테이션을 jvm 런타임 및 리플렉션을 통해 읽게 된다. 메타 어노테이션 종류 1. @Target 어노테이션을 어떤 요소에 적용할지 지정 @Target(ElementType.TYPE) 클래스의 어떤 요소에나 적용 가능, 기본값 @Target(ElementType.FIELD) 클래스의 특정 필드 @Target(ElementType.METHOD) 클래스의 메서드 @Target(ElementType.PARAMETER) 메서드의 파..
2023.02.24 -
스프링 IoC/DI 찍먹
✅ 아래 내용들에 대해서 알아보자- IoC- IoC 컨테이너- DI, DI 방식 IoC IoC(Inversion of Control, 제어의 역전)란 프로그램의 일부에 대한 제어를 프레임워크로 이전하는 소프트웨어 엔지니어링 원칙이다.스프링에서는 IOC는 클래스 간의 느슨한 결합을 하기 위해 객체의 생성과 관리를 컨테이너를 통해 프레임워크가 제어하는 것을 의미한다.스프링 컨테이너가 제어권을 가지고 있다고 해서 스프링 컨테이너를 IoC 컨테이너라고 부른다. 이전 개발방식에서는 개발자가 직접 객체를 생성하고 의존성을 관리해야 했으나, 스프링에서는 객체의 생성과 의존성 관리를 IoC 컨테이너가 담당함으로써 객체 간의 결합도를 낮추고, 유연하고 확장성 높은 애플리케이션을 개발할 수 있다. IoC 컨테이너 스프링..
2023.02.24 -
스프링 이벤트 처리
✅ 아래 내용들에 대해서 알아보자 - 이벤트란 무엇일까? - 스프링 이벤트 처리 방법 - 예제 코드 & 실습 - 이벤트 발송 프로세스 이벤트란? 컴퓨팅에서 이벤트(event)란 프로그램에 의해 감지되고 처리될 수 있는 동작이나 사건을 의미합니다. 예를 들어 사용자가 키보드의 키를 누르는 행위, 사용자가 화면의 버튼을 누르는 것 등의 행위들을 의미한다. 분산 시스템 간에 이벤트를 생성, 발행(publish)하고 발행된 이벤트를 필요로하는 수신자에게 전달하여 수신자가 이벤트를 처리하는 형태의 시스템 아키텍처를 Event-driven-architecture(EDA)라고 한다. 스프링 이벤트 처리 방법 스프링의 Application context는 BeanFactory 기능 말고 여러가지 기능들을 제공하는데 그..
2023.01.20 -
Doesn't say anything about org.gradle.plugin.api-version (required '7.6')
현상 인텔리제이에서 빌드 시 아래 오류가 발생 하였음 - Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11 - Other compatible attribute: - Doesn't say anything about org.gradle.plugin.api-version (required '7.6') - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-..
2023.01.03