본문 바로가기

Spring

[Spring] 빈의 생명주기 스프링 관련 질문 중 "스프링 빈의 생명주기"에 관련된 내용을 공유하고자 합니다. 스프링 IoC 컨테이너 생성 스프링 IoC 컨테이너는 ApplicationContext 인터페이스를 구현한 객체로 빈(자바 객체)를 객체화, 구성, 초기화를 담당합니다. 스프링 빈 생성 정의된 빈을 객체화 하는 과정입니다. 자바 어노테이션 기반, XML, Grooby 등의 방법으로 정의가 가능합니다. 생성자, 정적 팩토리 함수, 인스턴스 팩토리 함수 등의 방법으로 객체화를 진행합니다. 빈의 의존성 주입 빈에서 필요로 하는 의존관계의 다른 빈을 주입하는 과정입니다. Field, Setter, Constructor 방식으로 주입할 수 있습니다. 초기화 콜백 수행 초기화가 완료되면 3가지 방법의 콜백을 통하여 후처리를 진행합니다.. 더보기
[JPA] PostgreSQL jsonb 타입 설정하기 Spring Data JPA + PostgreSQL을 사용중에 객체정보를 테이블에 저장할 필요가 있을 수 있습니다. 객체를 JSON String으로 변환하여 저장하는 방법도 있지만, 여기서는 JSONB 타입으로 저장하는 방법을 설명하겠습니다. 의존성 추가 먼저 Spring Data JPA 기반이 되는 Hibernate의 type을 추가하기 위하여 vladmihalcea의 hibernate-types를 추가합니다. com.vladmihalcea hibernate-types-52 2.10.4 TypeDef 추가 특정 타입에 사용되는 클래스를 정의하기 위하여 @TypeDef 어노테이션을 사용합니다. 사용위치는 Entity 클래스에 정의합니다. package me.oofbird.jpa import org.hib.. 더보기
[WebSocket] Spring 4를 이용한 WebSocket 구현하기 HTTP 환경에서 client-server간의 상호작용을 위한 WebSocket 기능이 있습니다. Spring 4에서 해당 기능을 지원하며 다음과 같은 절차로 사용할 수 있습니다. 작업 환경 SpringFramework 4.0.4-RELEASE Tomcat 7.0.54 Maven Spring MVC로 구성된 프로젝트 구성 절차 1. Maven의 종속성 설정하기 org.springframework spring-websocket ${spring.version} spring-websocket 을 추가합니다. 2. websocket에 대한 핸들러를 등록합니다. 이때 Client에서 접속할 Path를 지정하고 해당 Path에서 들어오는 WebSocket 요청을 처리할 클래스를 등록합니다. 여기서는 “/echo”로.. 더보기