-
스프링퀵스타트 어노테이션 기반 설정Spring/Spring Quick Start 2019. 5. 21. 13:05
|어노테이션 설정 기초 스프링 프레임워크 역시 xml 설정이 매우 중요하다. 그만큼 xml 파일의 과도한 설정에 대한 부담이 크며, 이로 인해 프레임 워크 사용을 꺼리기도 한다. 따라서, 어노테이션을 이용한 설정을 지원하고있다. 1. context 네임스페이스 추가 스프링 설정 파일의 루트 엘리먼트인 에 Context 관련 네임스페이스와 스키마 문서의 위치를 등록해야한다. 이는 p 네임스페이스 추가했을 때 처럼 Namespaces 탭을 클릭하고 context 항목만 체크하면 쉽게 추가할 수 있다. 2. 컴포넌트 스캔(component-scan) 설정 스프링 설정 파일에 애플리케이션에서 사용할 객체들을 등록하지않고 자동으로 생성하려면 컴포넌트 스캔이라는 엘리먼트를 정의해야한다. 이 설정을 추가하면 스프링 ..
-
태국, 파타야 여행 2일차여행/2019 동남아 2019. 5. 21. 10:14
친구1: 파타야에 이미 와본친구 친구2: 처음 온 친구 |사실상 첫 날 우리는 새벽에 도착하여 조식을 먹고 뻗어버렸다. 점심쯤에 일어나서 빅씨마트에서 간단하게 점심을 해결했다. 빅씨마트에서 식사를 하기 위해서는 빅씨마트 전용 카드가 있는데 발급 받는 방법은 카운터에서 카드를 발급받고 그걸로 충전해서 음식을 주문할 때 지불하는 방식이다. 왜 이런 방식을 이용하는지 알 수 없지만 알고 싶지도 않다. 우리가 간 빅씨마트는 이곳이다. 센트럴 마리나와 연결되어 있는곳으로 그랜드팔라쪼 바로 앞에 위치해 있다. 우리는 먹고싶은거 이것저것 골라서 주문하고 친구는 몸이 안좋아서 탄산을 먹지 못한다. 그런 이유로 먹는것에서 제한적이다. 나와 친구1은 콜라 제일 큰 것 시키고 친구2는 땡모반(수박쥬스)를 시켰다. 이렇게 해..
-
스프링퀵스타트 의존성주입Spring/Spring Quick Start 2019. 5. 21. 08:49
스프링 프레임워크의 가장 중요한 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다는 점이다. 이것이 바로 스프링 IoC(Inversion of Control, 제어의 역행)의 핷미 원리이기도 하다. 스프링은 IoC를 다음 두 가지 형태로 지원한다. Inversion of Control 1. Dependency Lookup(의존성 요청) 2. Dependency Injection(의존성 주입) >>> a. Setter Injection >>> b. Constructor Injection |Dependency Lookup 컨테이너가 애플리케이션을 운용할 때 필요한 객체를 생성하고 클라이언트는 컨테이너가 생성한 객체를 검색(Lookup)하여 사용하는 방식이다. 하지만 이 방식은 실제 애플리케이션 개..
-
스프링퀵스타트 bean 엘리먼트 속성Spring/Spring Quick Start 2019. 5. 21. 06:52
1. init-method 속성 서블릿은 init() 메소드를 재정의하여 멤버변수로 초기화한다. 2. destroy-mehtod 속성 스프링 컨테이너가 객체를 삭제하기 직전에 호출될 임의의 메소드를 지정할 수 있다. 3. lazy-init 속성 스프링에서는 컨테이너가 구동되는 시점이 아닌 해당 이 사용되는 시점에 객체를 생성하도록 init-lazy 속성을 제공한다. 이를 이용하면 메모리 관리를 효율적으로 할 수 있다. ApplicationContext를 이용하여 컨테이너를 구동하면 컨테이너가 구동되는 시점에 스프링 설정 파일에 등록된 들을 생성하는 즉시 로딩(pre-loading)방식으로 동작된다. 그런데 어떤 은 자주 사용되지 않으면서 메모리를 많이 차지하여 시스템에 부담을 주는 경우도 있다. 이럴때 ..
-
스프링퀵스타트 빈생성 에러 및 학습Spring/Spring Quick Start 2019. 5. 20. 14:50
맥북에서 교재와 동일한 버전, 동일한 소스로 작성을 했음에도 불구하고 AbstractApplicationContext와 GenericXmlApplicationContext를 자동 호출하는게 되지 않았고 그래서 강제 입력해도 되지 않았다. 문제의 원인이 무엇인지 파악하고자 구글링을 해보았으나 이와 동일한 증세로 겪고있는 사람을 찾지못했다. 다만, 대안 해결책으로는 몇 가지 제시했었는데 이는 다음과 같다. 1. 프로젝트 클린 2. 메이븐 업데이트 3. 이클립스 재실행 필자는 위와 같은 모든 과정을 거치고 심지어 프로젝트 삭제 및 새로 생성하여 모든 과정을 처음부터 다시 시작했으나 제대로 되지 않아서 노트북>데스크탑으로 옮겨서 실행해봤는데 정상적으로 작동하였습니다. 정작 중요한 원인 파악 및 해결점은 찾지 못..
-
-
스프링/인터페이스와 임플리먼트 사이 에러Spring/Spring Quick Start 2019. 5. 19. 13:51
인터페이스 소스와 임플리먼트한 소스에서 동일하게 이용되어야하며 이러한 규칙을 지키지 않을시에는 에러가 발생하는데 동일한 소스를 이용하지 않았으므로 따로 큰 에러가 발생하지는 않는다. -TVUser.java 기본 클래스- package polymorphism; public class TVUser { public static void main(String[] args) { TV tv = new SamsungTV(); tv.powerOn(); tv.volumeUp(); tv.volumeDown(); tv.powerOff(); } } -TV.java 인터페이스- package polymorphism; public interface TV { public void powerOn(); public void power..