본문 바로가기

Language/Spring

(29)
[Spring Boot] 구글 이메일 인증 코드 발급 구현 구글 SMTP 서비스 설정1. 자신의 Gmail로 접속 → 우측 상단 톱니 바퀴 클릭 → 모든 설정 보기 클릭2. 아래와 같이 IMAP 사용 설정변경 사항 저장을 눌렀을 때 본인 인증 창이 활성화 되긴 하였음3. 우측 상단 구글 계정을 클릭 → 구글 계정 관리 클릭4. 보안 →  Google에 로그인하는 방법 → 2단계 인증 설정설정이 되었다면 넘어가도 됨5. 상단 검색창에 '앱 비밀번호' 검색하여 앱 이름 입력 후 만들기 → 생성된 비밀번호는 외부에 유출되지 않도록 저장build.gradle 의존성 추가implementation 'org.springframework.boot:spring-boot-starter-mail' application.yml 설정 추가spring: mail: host: s..
JpaAuditing 사용 방법 및 예제 JpaAuditing이란 엔티티의 생성 시각, 수정 시각을 자동으로 기록해주는 것 @EnableJpaAuditing 어노테이션@SpringBootApplication(exclude = SecurityAutoConfiguration.class)@EnableJpaAuditingpublic class PlayheavenApplication { public static void main(String[] args) { SpringApplication.run(PlayheavenApplication.class, args); }}해당 어노테이션으로 Auditing 기능을 활성화 해주어야 하며, Application 클래스 또는 @Configuration을 붙인 클래스 위에 선언해주어야 함 Aud..
BeanFactory, ApplicationContext BeanFactory란Spring의 핵심 인터페이스로 [빈의 생성 / 라이프사이클 관리 / 의존성 주입] 등을 담당ApplicationContext는 BeanFactory를 상속 받아 더 많은 기능을 제공BeanFactory의 역할빈 객체의 생성과 관리XML 또는 Java 기반의 설정 메타 데이터를 읽어 빈 객체로 생성, 빈의 생명 주기 관리빈의 생성, 초기화, 소멸에 대한 관리 + 의존성 주입을 담당빈 객체의 지연 로딩빈이 실제로 요청될 때 객체를 생성 → 메모리를 효율적으로 관리 빈 객체의 설정과 프로퍼티 설정BeanFactory는 빈 객체의 설정 정보와 프로퍼티 값을 관리설정 파일(XML or Java Config)에서 빈의 정의와 프로퍼티 값을 읽어 빈 객체를 생성하고 설정 ApplicationC..
의존성 주입(DI), 제어의 역전(IoC) IoC(Inversion of Control)제어의 역전(IoC)이란 객체의 생성 및 생명주기 관리에 대한 책임이 개발자에서 프레임워크에게 넘어가는 것Spring을 사용했을 때의 강력한 이점 중 하나가 Bean을 Spring Container에 등록을 해두고, 필요한 경우 등록된 Bean을 주입하여 자동으로 필요한 객체를 받을 수 있음개발자가 직접 객체 생성, 관리를 하지 않아도 되기 때문에 제어의 역전이라고 함 기존 방식public class A { private B b; pulbic A(){ this.b = new B();// 직접 객체를 생성하여 넣어줌 }} IoCpublic class A{ private B b; public B(B b){ this.b ..
Spring Framework와 Spring Boot Framework Spring Framework란? Java 기반의 오픈소스 Backend 프레임워크 엔터프라이즈급 애플리케이션을 개발하기 위한 모든 기능을 종합적으로 제공하는 경량화된 솔루션 → 엔터프라이즈 : 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 환경 Spring Framework의 특징DI(Dependency Injection) 개발자가 Spring 프레임워크에 의존성을 주입하면서 객체 간 결합을 느슨하게 하는 것 객체 간 결합이 느슨하면 코드의 재사용성 증가, 단위 테스트가 용이 IoC(Invesion of Control) 컨트롤의 제어권이 개발자에게 있는 것이 아닌 프레임워크가 대신해서 해주는 것을 의미Servlet이나 Bean 같은 코드를 개발자가 직접 작성하지..