본문 바로가기

Dependency Injection

(3)
전반적인 Spring 생태계 이해 (6) - JDBC를 통한 DB 접근 로직 구현 전반적인 Spring 생태계 이해 (5) - DB 접근과 JDBC 글에서 java 애플케이션 서버에서 DB 서버로의 접근에 대한 중요 내용을 다루었다. 이제는 JDBC를 사용하여 웹 애플레케이션 계층의 Reposotiory에서 DB 접근 로직을 작성할 것이다. 그 다음 기존의 메모리 용 Repository를 사용했던것을 실제 DB용 Repository로 객체를 변경을 한다.H2 데이터베이스 설치간단한 데이터베이스 작업을 위해, 자바로 개발된 경량화 관계형 데이터베이스 관리 시스템(RDBMS)인 H2 데이터베이스를 설치한다. 그리하여 H2 데이터베이스는 실무에서도 로컬에서 실행시켜볼때 쓰이곤한다.H2 데이터베이스 설치 가이드h2 다운로드 링크: https://www.h2database.com스프링 부트 3..
전반적인 Spring 생태계 이해 (3) - Spring Bean 등록 전반적인 Spring 생태계 이해 (1) - 웹 애플리케이션 계층과 전반적인 Spring 생태계 이해 (2) - 유닛 테스트(Unit Test)에 이어서, 스프링 기반의 웹 애플리케이션에서 각 계층에 해당하는 객체를 생성하고 의존관계를 설정하는 스프링 빈(Spring Bean) 등록 방식에 대해서 작성한 글이다.Spring Bean 등록스프링 기반의 애플리케이션 계층 구조에서 컨트롤러(Controoler)는 서비스(Service)에게 서비스를 제공받아 요청을 처리하고, 서비스는 리포지토리(Repository)로부터 데이터 처리를 통하여 비지니스 로직을 수행을 할수 있다. 그러므로 아래와 같은 객체의 의존 관계가 형성된다.  위와 같이 각 계층 구조를 형성하도록, 각 계층의 객체를 생성하고 의존 관계를 설..
[Java] 인터페이스의 본질과 이해 인터페이스란?인터페이스의 역할인터페이스의 인터페이스란 말 그대로 구현한 클래스와 다른 클래스 간의 인터페이스 역할을 한다. 두 클래스 사이에서 인터렉션을 할수 있도록 파이프라인 역할을 하는 것이다.인터페이스는 일종의 추상 클래스이다. 인터페이스는 추상 클래스처럼 추상 메서드는 갖지만, 추상 클래스와 다르게 body가 구현된 일반 메서드와 멤버 변수를 멤버로 가질 수 없다. 오직 추상 메서드와 상수만을 멤버로 가질 수 있어서, 추상 클래스보다 추상화 정도가 높다. 인터페이스 작성인터페이스 작성하는 것은 클래스를 작성하는 것과 같으며, 클래스와 마찬가지로 인터페이스의 접근제어자도 public 또는 default으로 지정할 수 있다. 인터페이스에 추상화된 메서드를 선언하고 클래스에서 구현하는 방식이다.inte..