본문 바로가기

스프링16

[Spring] DB 연동 - JDBC 목차 Spring 프로젝트에서 JDBC 기술을 이용해 DB를 연동하는 방법에 대해 알아보도록 하겠습니다. 순수 JDBC를 사용하는 방법과 JdbcTemplate을 사용하는 방법을 알아볼 텐데요, 아래는 프로젝트의 구조입니다. 실습을 위해 오라클 DBMS의 scott 계정에 test라는 테이블을 만들어 멤버를 조회하고 추가하는 등의 작업을 해 보도록 하겠습니다. create table test ( num number(4) primary key, username varchar2(10), address varchar2(10) ); insert into test values ( 1, '홍길동' , '서울'); insert into test values ( 2, '이순신' , '강원'); insert into t.. 2022. 8. 25.
[Spring] SpEL 사용법 목차 SpEL 이란? SpEL은 Spring Expression Language의 약자로서 런타임에서 객체에 대한 쿼리와 조작(querying and manipulating)을 지원하는 강력한 표현 언어입니다. XML 기반 설정, 어노테이션 기반 설정, 자바코드에서 모두 사용 가능합니다. SpEL 표기법 #{ SpEL표현식 } SpEL은 기본적으로 #{}로 표기하며 괄호 안의 내용을 SpEL 표현식으로 인식해서 evaluation(평가, 실행) 합니다. SpEL 지원 기능 Literal expressions : 리터럴 표현식 Boolean and relational operators : Boolean과 관계 연산자 Regular expressions : 정규 표현식 Class expressions : 클.. 2022. 8. 22.
[Spring] 의존성 주입(Dependency Injection) - (2) 어노테이션 기반 설정 목차 어노테이션을 사용한 빈 설정 방법 스프링 프레임워크에서 빈을 설정하는 방법으로 XML 기반 설정, 자바 기반 설정 외에 자바 어노테이션(Annotaion, @) 기반 설정 방법이 있습니다. 자바에서 어노테이션은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술입니다. 즉, 프로그램에 추가적인 정보를 제공해주는 메타 데이터라고 볼 수 있습니다. 어노테이션 기반 설정 방법은 @Component 같은 마커 어노테이션(Marker Annotation)이 부여된 클래스를 탐색해서(Component Scan) DI 컨테이너에 빈을 자동으로 등록하는 방법입니다. Component Scan 설정 지정한 패키지의 하위 클래스를 탐색한 후 DI 컨테이너에 객체를 생성하여 등록합니다. 방식 예시 .. 2022. 8. 21.
[Spring] XML 기반 설정 의존 객체 자동 주입 (autowire) 목차 의존 객체 자동 주입 - autowire XML 기반으로 빈을 등록할 때, 의존 관계에 있는 객체를 주입하는 코드를 일일이 직접 작성해 줘야 하는 번거로움이 있었습니다. 이때, 의존 관계를 설정하고자 하는 빈에 autowire 속성을 사용하면 의존 객체를 자동으로 주입하게 되어 코드 작성이 편리해집니다. autowire 속성의 설정값으로는 다음의 네 가지가 있습니다. 설정값 설명 byName 프로퍼티의 이름과 같은 이름을 갖는 빈 객체를 자동 설정한다. (setter 메소드의 메소드 이름 기준) byType 프로퍼티의 타입과 같은 타입을 갖는 빈 객체를 자동 설정한다. (setter 메소드의 매개변수 타입 기준) constructor 생성자 파라미터 타입과 같은 타입을 갖는 빈 객체를 생성자에 자동.. 2022. 8. 17.
[Spring] 의존성 주입(Dependency Injection) - (1) XML 기반 설정 목차 의존성 주입(Dependency Injection)이란? 의존성 주입(DI)은 스프링 프레임워크가 지원하는 핵심 기능 중 하나로서, 객체 사이의 의존관계가 객체 자신이 아닌 외부에 의해 결정되는 디자인 패턴입니다. 스프링 IoC 컨테이너는 어떤 객체(A)가 필요로 하는, 의존관계에 있는 다른 객체(B)를 직접 생성하여 A 객체로 주입(설정)하는 역할을 담당합니다. 컴포넌트를 구성하는 객체의 생성과 의존관계의 연결 처리를 해당 객체가 아닌 컨테이너가 대신하기 때문에 제어의 역전(Inversion of Control)이라고 합니다. 의존성 주입을 사용하면 종속성과 결합도(coupling)가 낮아져 테스트가 용이해지고 재사용성, 유연성, 확장성을 향상시킬 수 있게 됩니다. 의존성 주입 방법 의존성을 주입.. 2022. 8. 14.
[Spring] 스프링 프레임워크 개요 목차 Spring Framework 란? Spring의 배경 스프링은 자바 엔터프라이즈(J2EE) 개발을 편리하게 해주는 오픈소스 경량 애플리케이션 프레임워크입니다. 엔터프라이즈급 개발이란 대규모 데이터 처리와 트랜잭션이 동시에 여러 사용자로부터 행해지는 매우 큰 규모의 개발을 의미합니다. 2000년대 초반부터 시작된 엔터프라이즈급 개발은 안정된 품질의 개발을 필요로 했고, 그 결과 많은 프레임워크가 나오게 되었습니다. 프레임워크는 뼈대나 근간을 이루는 코드들의 묶음이라고 할 수 있습니다. 프로그램에 필요한 기본 흐름과 구조를 미리 코드로 만들어 놓았기 때문에, 프레임워크를 사용하면 일정한 품질이 보장되는 결과물을 얻을 수 있습니다. 하지만 EJB로 대표되는 과거 엔터프라이즈급 프레임워크들은 너무 복잡하.. 2022. 8. 13.