
전체 글

4-1) DI 예시 코드
Hello.java ...더보기 package myspring.di.xml; public class Hello { private String name; private Printer printer; public void setName(String name) { this.name = name; } public void setPrinter(Printer printer) { this.printer = printer; } public String sayHello() { return "Hello" + name; } public void print() { this.printer.print(sayHello()); } } Printer.interface ...더보기 package myspring.di.xml; publi..

4) 스프링프레임워크 DI의 개념
DI의 개념 각 클래스간의 의존관계를 빈 설정(Bean Definition) 정보 바탕으로 컨테이너가 자동으로 연결해주는 것을 말한다. -개발자들은 단지 빈 설정파일에서 의존관계가 필요하다는 정보를 추가하면 된다. - 객체 레퍼런스를 컨테이너로부터 주입 받아서, 실행 시에 동적으로 의존관계가 생성된다. - 컨테이너가 흐름의 주체가 되어 애플리케이션 코드에 의존관계를 주입해 주는 것이다. DI의 장점 -코드가 단순해진다. -컴포넌트 간의 결합도가 제거된다. - Hello 클래스는 직접적으로 StringPrinter와 ConsolePrinter을 호출하지 않는다. - 설정 파일(bean.xml)에 어떤상황에 String,Console을 Hello에게 주입할지 적어준다. bean.xml 주입 방법 (Sette..
3. Spring Framework 개요
1. Spring Framework란 ? Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. 엔터프라이즈 개발의 복잡함을 상대하는 Spring의 전략 1) Portable Service Abstraction, 2) DI, 3) AOP, 4) POJO 1) Portable Service Abstraction(서비스 추상화) 트랜잭션 추상화, OXM(Object XML Mapping) 추상화, 데이터 액세스의 Exception변환 기능 등 기술적인 복잡함은 추상화를 통해 Low Level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리한다. 추상화란 하위 시스템의 공통점을 뽑아내서 분리시키는 것을 말한다. 그렇게 하면 하위 시스템이 어떤 것인지 알지 못해도, 또는 하..
2. 프레임워크의 구성요소와 종류
프레임워크의 구성요소와 종류 1. Ioc (Inversion of Control) 2. class Library 3. design pattern Ioc : 제어의 역전 즉 인스턴스 생성부터 소멸까지의 인스턴스 생명주기 관리를 개발자가 아닌 컨테이너가 대신 해준다는 뜻이다. 즉, 컨테이너 역할을 해주는 프레임워크에게 제어하는 권한을 넘겨서 개발자의 코드가 신경 써야 할 것을 줄이는 전략이다. Spring컨테이너는 IoC를 지원하며, 메타데이터(XML설정)을 통해 beans를 관리하고 어플리케이션의 중요부분을 형성함. Spring 컨테이너는 관리되는 bean들을 의존성 주입을 통해 Ioc를 지원함. 라이브러리와 프레임워크의 차이 : 프레임워크는 개발자코드를 프레임워크가 호출해서 사용한다. 프레임워크 : 라이..
1. 디자인 패턴과 프레임워크
SW 재사용 방안들 Method Signature가 변경되어도 변경된 메서드를 사용하는 클래스에서 코드 수정이 없게하자. Copy & Paste -> 1) Method -> 2) Inheritance (클래스 상속) -> 3) AOP Method Signature : 메서드 명 , 리턴 타입, 아규먼트 개수, 타입 1) Method : Signautre를 변경하면 이 메서드를 사용하는 모든 클래스에 영향을 준다. 복사 & 붙여기 보다는 진보된 방식이지만 작업 영역간의 결합도 문제는 여전히 존재한다. 2) 클래스 재사용 (상속) : 부모클래스에서 클래스 내용을 변경 했을 때 부모 클래스를 상속 받은 자식클래스는 자동적으로 변경된 메서드를 사용하게 된다. 그러나 부모클래스에서 메서드 Signature가 변경..
6.20 스프링 세팅
개발환경 eclipse mysql 8.0 java 1.6 spring 5.1.5 jstl 1.2 spring ibatis 2.0.8 commons collection commons dbcp commons pool pom.xml 세팅 추가 pom.xml 코드 ...더보기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 8..
JAVA-HashTable
Hashtable의 특징 1) Key와 Value의 저장구조 2) 인덱스가 없다. 3) 객체여야 저장가능하다. 4) 객체를 넣었기에 값을 꺼낼 때(복사할 때) Casting이 필요하다. 5) 중복 키가 불가능하다. 6) 찾는 키가 없다면 null값을 반환한다. Hashtable위치 java.util. Class Hashtable java.lang.Object java.util.Dictionary java.util.Hashtable ConstructorsConstructor and Description Hashtable() Constructs a new, empty hashtable with a default initial capacity (11) and load factor (0.75). Hashtabl..
JAVA-ArrayList
ArrayList의 특징 1) vector와 유사한 사용법과 특징을 지니고 있다. 2) vector와 다르게 thread-safe를 지원하지 않는다. ArrayList위치 java.util. Class ArrayList java.lang.Object java.util.AbstractCollection java.util.AbstractList java.util.ArrayList