프로그래밍 공부
-
[Spring] 생성자 DI프로그래밍 공부/Spring 2021. 4. 29. 23:39
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. xml에서 여러 field 값이 포함된 생성자를 통해 객체를 생성하는 법을 알아보자. public NewlecExam(int kor, int eng, int math, int com) { this.kor = kor; this.eng = eng; this.math = math; this.com = com; } 위와 같은 생성자를 포함한 class를 선언하는 방법 1. 기본 => 어떤 field 값인지 알 수 없다. 2. index 이용 => index를 이용하여 입력되는 value의 순서를 조정할 수 있다. 하지만 여전히 어떤 field 인지 구분이 어렵다. 3. name 이용 4. type 이용: 변수명은 같고 type이 다른 경우 사용 5. 단일 태그로 ..
-
[Spring] 값 형식 DI프로그래밍 공부/Spring 2021. 4. 29. 23:04
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 이전 글에는 setter에 reference를 넘겨주는 것을 하였다. (예시: XML 파일에서 선언한 exam 객체를 GridExamConsole에 DI) 이번에는 값 형식을 DI 하는 것을 배워보자 (예시: 국어, 수학, 영어, 컴퓨터 점수를 XML 파일을 이용하여 set 하는 법) name, value 필드를 채운 property 태그를 추가한다. value를 따른 태그로 분리하여 사용할 수도 있다. 40 NewlecExam 클래스에 각 property를 setting 할 수 있는 setter 함수가 정의되어 있어야 한다. source > generator 를 이용하여 편리하게 setter 함수를 추가하자. 값을 지정해준 뒤 실행하면 값이 들어온 것을 ..
-
[Spring] IoC 컨테이너 사용하기 (ApplicationContext 이용하기)프로그래밍 공부/Spring 2021. 4. 29. 22:49
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. Application Context : Spring에서 설정 정보의 제공을 위한 핵심 인터페이스 지시서를 넘길 때 지시서의 위치에 따라 다른 클래스를 사용한다. - ClassPathXmlApplicationContext: application의 root로 부터 경로를 지정할 때 => 가장 보편적인 방법 - FileSystemXmlApplicationContext: 파일 시스템의 경로를 이용할 때 (C 드라이브 ~) - XmlWebApplicationContext: 웹의 url을 통해 경로를 지정할 때 - AnnotationConfigApplicationContext: 파일을 통해 넘기지 않고 scan을 통해 넘김 ApplicationContext conte..
-
[Spring] 스프링 DI 지시서 작성하기 (Spring Bean Configuration)프로그래밍 공부/Spring 2021. 4. 29. 20:41
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 전 글에서 Java만을 이용하여 DI 한 것을 스프링을 통해 작성해보자. 우선 Java EE가 설치되어 있어야 한다. Help > Eclipse Marketplace > Spring Tools 3 Add-On for Spring Tools... 를 설치한다. spring.di 패키지에 New > Other > Spring Bean Configuration File 을 선택하여 setting.xml 파일을 생성한다. NewlecExam과 InlineExamConsole을 객체를 생성하고 두 객체를 DI 하는 것을 setting.xml을 통해 작성한다. 객체 생성방법 bean 태그를 이용하여 객체를 생성한다. 형태로 작성하고 id는 생성된 객체의 이름, cla..
-
[JAVA] Dependency를 직접 Injection 하기프로그래밍 공부/Spring 2021. 4. 28. 12:42
뉴렉처 강사님의 동영상 강의를 작성한 글입니다. Spring을 사용하지 않고 Dependency를 직접 Injection 해보는 실습 Program.java package spring.di; import spring.di.entity.Exam; import spring.di.entity.NewlecExam; import spring.di.ui.ExamConsole; import spring.di.ui.GridExamConsole; import spring.di.ui.InlineExamConsole; public class Program { public static void main(String[] args) { Exam exam = new NewlecExam(); ExamConsole console = ..
-
[Spring] IoC 컨테이너프로그래밍 공부/Spring 2021. 4. 28. 12:13
뉴렉쳐 강사님의 동영상 강의를 정리한 글입니다. IoC Container (Inversion of Control) : 역순으로 부품을 생성하고 조립하는 컨테이너 컨테이너 : 큰 객체를 생성하기 위해 필요한 부품들을 생성하여 담는 그릇 A를 만들기 위해 B가 필요하고, B를 만들기 위해 C가 필요, C를 만들기 위해 D가 필요한 경우 DI의 순서 - Composition 일체형: 가장 큰 A객체를 생성할 때 자동으로 작은 부품들이 만들어지게 됨 즉, A -> B -> C -> D 순으로 생성되어 컨테이너에 담김 - Asocciation 조립형: 가장 작은 부품먼저 만들어 조립하여 큰 부품을 만들게 됨 즉, D -> C -> B -> A 순으로 생성되어 컨테이너에 담김 (역순) => 이 컨테이너가 IoC C..
-
[Spring] DI(Dependency Injection)프로그래밍 공부/Spring 2021. 4. 28. 11:58
뉴렉쳐 강사님의 동영상 강의를 정리한 글입니다. 스프링 프레임워크의 코어기능 Spring의 가장 기본적인 능력 객체를 생성하고 조립하는 것 - DI(Dependency Injection) - IoC Container DI(종속성 주입, 부품 조립) - Composition has a (일체형, 붙박이형) class A { private B b; public A(){ b = new B(); } } - A가 B를 일체형으로 가졌다. - B는 A의 dependency(부품)이다. - A의 객체 생성시 부품이 같이 생성됨 - A의 부품이 뭐가 있는지 잘 알 수 없음 - A의 부품 교체 어려움 - Association has a (조립형): setting을 해야 사용 가능, 업데이트시 유용 class A { pr..
-
[Spring] 느슨한 결합력과 인터페이스프로그래밍 공부/Spring 2021. 4. 28. 11:16
뉴첵쳐 강사님의 동영상 강의를 정리한 내용입니다. 엔터프라이즈 애플리케이션을 만들 때 사용하는 기본적인 레이어 - UI: 사용자에게 보여지는 화면 - Service: 사용자의 요구에 맞는 서비스를 담당하는 부분 - Dao(Data access object): 순수하게 java를 이 용하여 데이터를 접근할 수 있게 해주는 부분 코드 수정 없애고 DI를 위한 설정 Dao의 한 클래스의 수정이 필요할 때, 기존 클래스(B1)의 내용을 수정하지 않고 새로운 클래스(B2)를 만든 경우 Service의 코드 수정 없이 B2 객체 생성이 가능한가? 인터페이스(B)를 사용하여 결합력을 낮추고, service와 Dao를 결합시키는 작업을 UI 단에서 해준다. UI에서 소스 코드 수정 없이 외부 파일, 외부 설정(XML,..