JAVA(244)
-
3. 스프링 DI(Dependency Injection) #3 스프링 DI 설정
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해 작성된 글입니다. 6. 스프링의 DI 설정 실제로 스프링은 앞서 구현한 조립기와 유사한 기능을 제공한다. 즉 스프링은 Assembler 클래스의 생성자 코드처럼 필요한 객체를 생성하고 생성한 객체에 의존을 주입한다. 또한 스프링은 Assembler#getMemberRegisterService() 메서드처럼 객체를 제공하는 기능을 정의하고 있다. 차이점이라면 Assembler는 MemberRegisterService나 MemberDao와 같이 특정 타입의 클래스만 생성한 반면 스프링은 범용 조립기라는 점이다. 6.1 스프링을 이용한 객체 조립과 사용 스프링을 사용하려면 먼저 어떤 객체를 생성하고, 의존을 어..
2021.07.02 -
3. 스프링 DI(Dependency Injection) #2 객체 조립
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해 작성된 글입니다. 4. 예제 프로젝트 만들기 예제 프로젝트 클래스 구성 회원 데이터 관련 클래스 Member WrongIdPasswordException MemberDao 회원 가입 처리 관련 클래스 DuplicateMemberException RegisterRequest MemberRegisterService 암호 변경 관련 클래스 MemberNotFoundException ChangePasswordService 예제 프로젝트 클래스 소스코드 https://github.com/yonghwankim-dev/spring5/tree/master/sp5-chap03/src/main/java/spring yong..
2021.07.02 -
3. 스프링 DI(Dependency Injection) #1 객체 의존과 의존 주입(DI)
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해 작성된 글입니다. 1. 의존이란? DI는 'Dependency Injection'의 약자로 우리말로는 '의존 주입'이라고 번역한다. 여기서 말하는 의존은 객체 간의 의존을 의미한다. 예를 들어 회원 가입을 처리하는 기능을 구현하는 다음의 코드를 보자. 서로 다른 회원은 동일한 이메일 주소를 사용할 수 없음 해당 제약사항을 처리하기 위해 MemberRegisterService 클래스는 MemberDao 객체의 selectByEmail() 메서드를 이용하여 동일한 이메일을 가진 회원 데이터가 존재하는지 확인 만약 같은 이메일을 가진 회원 데이터가 존재하면 예외 발생 같은 이메일을 가진 회원 데이터가 존재하지 ..
2021.07.02 -
2. 스프링 시작하기 #3 싱글톤(Singleton) 객체
2.1 싱글톤(Singleton) 객체 package chap02; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Main2 { public static void main(String[] args) { AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppContext.class); Greeter g1 = ctx.getBean("greeter", Greeter.class); Greeter g2 = ctx.getBean("greeter", Greeter.class); System.out.pr..
2021.07.01 -
2. 스프링 시작하기 #2 그레이들 프로젝트 생성
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해 작성한 글입니다. 1.3 그레이들 프로젝트 생성 그레이들 프로젝트를 생성하는 과정은 메이븐과 크게 다르지 않다. 차이점은 pom.xml 파일 대신에 build.gradle 파일을 작성한다. 폴더 구조도 동일하다. step1 그레이들 프로젝트를 생성하기 위한 build.gradle 파일 작성 apply plugin: 'java' sourceCompatibility = 1.8 targetCompatibility = 1.8 compileJava.options.encoding = "UTF-8" repositories { mavenCentral() } dependencies { implementation 'org...
2021.07.01 -
2. 스프링 시작하기 #1 메이븐 프로젝트 생성
본 글은 최범균 저자의 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 복습을 위한 내용입니다. 1. 스프링 프로젝트 시작하기 1.1 프로젝트 폴더 생성 프로젝트를 생성할 기준 폴더는 spring5fs 폴더라고 가정하고 진행한다. step1 프로젝트 폴더를 다음과 같이 생성 spring5fs/sp5-chap02/src/main/java 1.2 메이븐 프로젝트 생성 step1 pom.xml 파일 생성 및 작성 4.0.0 sp5 sp5-chap02 0.0.1-SNAPSHOT org.springframework spring-context 5.0.2.RELEASE maven-compiler-plugin 3.7.0 1.8 1.8 utf-8 08행 : 프로젝트의 식별자 지정. 여기서는 프로젝트 폴더와 동일한..
2021.07.01