본문 바로가기

IT/Spring boot28

[Spring boot] EntityManager & JPA Entity Life Cycle Entity ManagerEntityManager는 Persistent Context 내에서 Entity들을 보관 관리한다.Persistent Context와 JPA에 대한 내용은 아래 포스팅에 자세히 나와있다.  [Spring boot] Persistent Framework & JPA의 등장데이터 영속성Persistence(영속성)은  데이터들이 프로그램이 종료되어도 사라지지 않고, 어떤 곳에 저장되는 개념을 뜻한다.물리적인 저장소를 이용해 프로그램의 상태와 상관없이 데이터를 저kyu-nahc.tistory.com EntityManager는 JPA에서 제공하는 interface로 Spring Bean으로 등록되어 있어 Autowired 또는 생성자 주입으로 사용할 수 있다.Query Method, Si.. 2024. 8. 11.
[Spring boot] Persistent Framework & JPA의 등장 데이터 영속성Persistence(영속성)은  데이터들이 프로그램이 종료되어도 사라지지 않고, 어떤 곳에 저장되는 개념을 뜻한다.물리적인 저장소를 이용해 프로그램의 상태와 상관없이 데이터를 저장하는 행위가 영속화이다.관계형 데이터베이스에 데이터를 저장하기 위해 SQL을 이용해 데이터를 영속화한다고 할 수 있다.자바에서는 데이터의 영속성을 위해 JDBC 인터페이스를 지원한다. 하지만 JDBC를 사용 시 개발자가 DB 연결, 예외 처리 등의 부가적인 요소를 모두 작성하고,Connection 같은 자원은 더 이상 사용하지 않는다면 반환해줘야 하는데, 이러한 부분 모두 개발자가 직접 처리해야 한다. 위와 같은 부분을 보완하고 독립적인 Query 생성 환경을 구축하기 위하여Persistent Framework가 .. 2024. 8. 11.
[Spring boot] POJO (Plain Old Java Object) POJO (Plain Old Java Object)위 이미지는 Spring 삼각형이라는 이미지로 Spring의 핵심 개념들을 표현하고 있다.POJO는 IoC / DI, AOP, PSA를 통해서 달성할 수 있다는 것을 의미한다. POJO란 Plain Old Java Object의 약자로,  Java로 생성하는 순수한 객체를 뜻한다. 이를 해석하면 POJO는 객체 지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고,필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트를 의미한다.이러한 POJO에 애플리케이션의 핵심 로직과 기능을 담아 설계하고 개발하는 방법을POJO 프로그래밍이라고 한다.  POJO 프로그래밍POJO 프로그래밍은 POJO를 이용하여 프로그래밍 코드를 작성하는 것이다.그러나 순수 자바 객.. 2024. 8. 10.
[Spring boot] Spring Singleton Bean Java Singleton PatternJava의 Singleton Pattern이란 무엇일까?Singleton 패턴은 인스턴스를 불필요하게 생성하지 않고,오직 JVM 내에서 한 개의 인스턴스만 생성하여 재사용을 위해 사용되는 디자인 패턴이다.하지만 멀티스레드 환경에서 문제가 생길 수 있어, Thread-safe 한 형태로 구현해야 한다.따라서 synchronized를 이용하여 Singleton 패턴을 대부분 구현할 수 있다.public class Singleton { private static Singleton instance; private Singleton(){} public static synchronized Singleton getInstance() { if(instance == null).. 2024. 8. 9.
[Spring boot] Application Context Application Context란?Application Context란 무엇일까?먼저 Spring framework는 IoC 개념이 적용된 대표적인 기술이다.IoC( Inversion of Control )란 제어의 역전을 의미하며, 전통적인 프로그래밍에서는 개발자가 프로그램의 흐름과 제어를 직접 다루지만, IoC는 프레임워크 자체가 객체의 생성, 관리, 제어 흐름을 담당하도록 변경하는 개념이다. Spring은 IoC를 지원하기 위해 Application Context라는 컨테이너를 제공한다.즉 Applicatation Context란 애플리케이션 전반에 걸쳐 모든 구성요소의제어작업을 담당하는 IoC 엔진이라고 할 수 있다. 빈의 생성과 관계 설정 같은 제어를 담당하는 IoC 컨테이너인 빈 팩토리가 .. 2024. 8. 9.
[Spring boot] 이메일 전송 구현 개발 환경Spring boot 3.1.9Java 17IntelliJMaven Dependency 추가- pom.xml 수정Spring boot를 통해 이메일 인증을 구현하기 위해서는 메일 서버와 연결하기 위한라이브러리 추가 및 SMTP(프로토콜)에 대한 이해가 필요하다.SMTP 프로토콜 : 네트워크를 통해 전자우편을 전송하는 기술 표준이다.SMTP 서버 : SMTP 프로토콜을 이용해 이메일을 전송하고 수신할 수 있는 메일 서버Spring boot mail starter : 메일 서버와 연결하기 위해 필요한 라이브러리 org.springframework.boot spring-boot-starter-mail pom.xml에 해당 의존성을 추가한다.의존성 추가 후 Maven Build를 누르면 정상.. 2024. 8. 7.

loading