반응형
SMALL

SPRING 45

DI XML / 의존 관계 설정 1 (생성자 방식)

# Bean 객체 획득 ApplicationContext ctx = new ClassPathXmlApplicationContext("com/springinaction/springidol/spring-idol.xml");//이게 컨테이너를 생성하는 코드야//컨테이너로부터 특정 bean 객체의 참조 정보를 가져옴//첫번째 방법//id로만 가져오면 Object 타입으로 변환된다. 따라서 타입캐스팅 꼭 해줘야한다.Performer performer = (Performer) ctx.getBean("duke");//두번째 방법//타입을 지정하기때문에 타입캐스팅 필요 없다.Performer performer2 = ctx.getBean("duke", Performer.class);// 두가지 방법의 결과는 같음// P..

SPRING 2019.03.18

Spring Container

* 핵심 기능 - Spring 빈 객체의 life-cycle 관리 빈 객체 생성, 초기화, 이용, 삭제- Dependency Injection 빈들 간의 의존 관계에 따라 빈 객체들을 연결 (참조 관계 생성 ---> bean wiring) * 컨테이너 종류 (Interfaces) ① BeanFactory- 최상위 부모 역할- 객체를 생성하고 DI를 처리하는 기본적인 기능 제공- org.springframework.beans.factory.BeanFactory ② ApplicationContext- BeanFactory를 확장하여 다양한 부가 기능을 추가 제공- Annotation 기반 설정, Java code 기반 설정, 웹 개발 관련 기능, 트랜잭션 처리, 메시지 처리 등- org.springframe..

SPRING 2019.03.18

AOP (Aspect-Oriented Programming)

★ AOP( Aspect-Oriented Programming)* AOP란?- 관점(관심) 지향 프로그래밍- 소프트웨어의 요구사항을(각 기능을) 핵심 기능과 부수적 기능으로 분할하여 개발 후 통합- S/W 시스템 내부의 관심사들을 서로 분리 시킴 ---> 독립적 개발 후 결합- 공통 기능(시스템 서비스)을 별도로 모듈화하여 구현하고 Aspect(일종의 주입)를 통해 (얘가 중간에서 처리) 비즈니스 클래스에 선언적으로 적용- 비즈니스 로직 실행 전이나 후에 공통 기능 모듈을 실행시킴- 모듈화를 극대화하는 개발 방법- OOP(Object-Oriented Programming)의 한계 극복--> 모듈화를 잘 하더라도 부수적 기능이 핵심 기능에 포함 됨- OOP와 달리 분리하면 핵심 기능에서 부수적 기능을 직접..

SPRING 2019.03.18

DI / 의존 관계 설정 방법 2 (Annotation 이용 방법)

② Annotation 이용 * 일일이 의존 관계를 설정할 필요 없이 자동으로 프로퍼티나 생성자 파라미터 값으로 동일 타입의 빈 객체를 전달해 준다. * 일일이 태그를 사용하지 않아도 된다. * 시간이 줄어든다. * 설정 코드가 줄어든다. * 1. @Autowired - 생성자, 필드, 메소드 세 곳에 적용 가능 - xml에서 프로퍼티 설정 코드가 없어도 class= 부분의 타입을 보고 동일 타입을 갖는 빈을 프로퍼티 값으로 사용함 - 만약 @Autowired 를 썼는데 그 객체가 빈 등록이 안되어있으면 익셉션이 난다. 이걸 그냥 null 값으로 두고 싶으면 @Autowired(required = false) 이렇게 해준다. 2. @Quali..

SPRING 2019.03.18

DI / 의존 관계 설정 방법 1 (XML 이용 방법)

① XML 이용 1. 태그 이용컨테이너가 생성할 빈 객체 지정속성 : id / class * id : 태그 고유 이름. 다른 태그에서 참조할 때 사용 * class : 컨테이너가 생성할 객체의 클래스 이름(패키지명 포함해야함) 2. : 루트 태그(루트 엘리먼트) # 객체 주입 방식 2가지 : & --> 이 태그가 있으면 객체 주입하겠다는 것. --> 어디서 어디로? --> ref 에 있는 이름인 다른 빈 객체를 ref 가 쓰인 객체에 불러오겠다. 사용하겠다. 3. 방식객체에 생성자를 사용한 방식이라면... * 객체를 스프링 빈으로 설정하려면 생성자에 전달할 값을 설정해줘야 함 이때 사용되는 태그가 ( 안에 ) 한 개의 생성자 파라미터를 설정하..

SPRING 2019.03.18

DI (Dependency Injection) / 의존 객체 생성 방법

- Dependency(의존) Injection(주입) --> DI * 의존? (Dependency): A객체랑 B객체가 있는데 A객체가 B객체의 어떤 메소드를 호출하고 값을 리턴한다치면( A ----> B )===> A에서 B에 있는걸 불러 ===> A는 B가 필요해... B한테 의존할거야... 너 없으면 안돼...===> A는 B에 의존한다. * 주입? (Injection): 의존이랑 비슷한데 의존이랑 반대야===> A에서 B에 있는걸 불러 ===> B가 A에 들어가... B를 A에 주입할거야...===> B를 A에 주입한다.===> A는 주입 받는다. ★ A는 B에 의존 = B를 A에 주입★ 불려지는게 B 의존 객체 (의존할 객체) -----> 지존★ 불러서 쓰는게 A 의존하는 객체 * 객체 외부에..

SPRING 2019.03.18

Bean, IoC, Container, Coupling

# Bean: ApplicationContext가 관리하는 객체--> spring이 사용자 요청에 따라 그 라이프 싸이클이 관리되는 모든 클래스, 객체: 즉 객체는 bean # Bean Wiring: 분리되어 있는 객체들을 엮는 작업 # IoC (Inversion of Control): 제어의 역전 이라는 뜻 --> 객체의 생성에서부터 생명주기의 관리까지 모든 객체에 대한 제어권이 다른 무언가(주로 컨테이너)로 넘어갔다는 뜻: 개발자가 객체를 직접 생성하고 없앨지 결정하는 것이 아니라 컨테이너에게 맡김: 편의성과 재사용성 극대화: IoC는 과거부터 사용되던 용어이고 Dependency Injection과 비슷하나 DI가 IoC보다 조금 하위 개념임 # Container: spring에선 크게 두 가지 유..

SPRING/term 2019.03.16

Spring Web MVC framework

출처 : https://docs.spring.io/spring/docs/3.0.0.M3/reference/html/ch16s02.html # Front Controller (= DispatcherServlet): 제일 앞에서 서버로 들어오는 클라이언트의 모든 요청을 처리: 공통 처리 작업을 한 후 적절한 세부 controller로 작업 위임: Spring에서는 View와 Controller 사이에서 작업을 위임시키고 전달시키고 하는 역할 # Model: Spring에서는 Controller와 View 사이에 전달되는 데이터나 데이터구조 등을 말함 * delegate 위임하다* rendering of response 응답을 나타내는 것 출처 : https://github.com/kenu/springstud..

SPRING 2019.03.16

Servlet, GET / POST

# Servlet: 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램: 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종: 자바 코드 안에 HTML을 포함: main() 메소드가 없음: 반드시 public 이어야 함: HTML이 필요: new로 객체를 생성하여 사용하지 않음- tomcat WAS가 해줌: 서버 안에 저장 됨 # Servlet Container: 기존 웹서버들은 자바로 구현되어 있지 않기 때문에 웹서버에서 Servlet을 인식하게 하려면 상호 작용 가능하게 하는 매개체가 필요함이 매개체 역할을 하는 것이 바로 Servlet Container # HTTP 패킷 출처 : https://voine1.blog.me/221392037096 # get: 서버에 요청하는 메소드: ..

SPRING/term 2019.03.16
1 2 3 4 5
반응형
SMALL
반응형
LIST