본문 바로가기

전체 글112

[Spring] DB 연동 - MyBatis 목차 MyBatis 란? MyBatis(마이바티스)는 SQL 매핑(mapping) 프레임워크입니다. MyBatis는 JDBC로 처리하는 상당 부분의 코드와 파라미터 설정 및 결과 매핑을 대신해 줌으로써, 개발자가 복잡한 코드 작업을 피하고 좀 더 빠르게 SQL을 처리할 수 있도록 도와줍니다. JDBC의 기본적인 프로그래밍 구조와 비교했을 때 MyBatis의 장점은 다음과 같습니다. JDBC MyBatis Connection 직접 맺고 close() MyBatis 내부적으로 Connection 자동으로 맺고 close() PreparedStatement 직접 생성 및 처리 MyBatis 내부적으로 PreparedStatement 생성 및 처리 PreparedStatement의 setXXX() 등 작업 직접.. 2022. 8. 27.
[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.