Spring FrameWork
FrameWork?
: 틀, 뼈대
어플리케이션을 개발하기 위한 기본적인 뼈대
(Class 모음집)
어떻게 하면 빈번한 수정에 유연하게 대처할 것인가?
스프링의 주요 특징
1. DI (Dependency Injection) 의존성 주입
: 자바로 되어 있는 어플리케이션의 소스를 열어보면 무엇으로 구성되어 있나요?
==> 수많은 객체(Class)로 구성되어 있다.
객체와 객체 사이에는 관계가 있다.
is a 관계 : 상속
has a 관계 : 멤버 **
예를 들어 A라는 객체를 멤버로 가진 객체가 수십가지가 있는데 일일이 바꾸기 힘들고 간혹 빼먹는 경우도 있을 것이다.
이 때 사람들은 원터치로 바꾸고 싶은 생각을 하였고 이를 환경설정(xml)에서 바꿀 수 있게 만든 것이 DI 사상이다.
그래서 xml 에서 A라는 객체 대신 B라는 객체를 넣게되면 기존에 A를 멤버로 가지고 있던 모든 객체에 B 객체가 반영된다.
그것도 환경설정(xml)에서 한번에 가능하다.
사용자에 의해 수정이 요구될만한 관계에 있는 두 객체를 소스코드에서 직접 객체를 생성하지 않고
스프링 컨테이너에 의해 객체를 제공하는 방식을 말한다.
2. AOP (Aspect Oriented Programming) 관점 지향 프로그래밍
스프링 jar 파일을 쓰기 위한 환경설정
: 이클립스 이용한 방법 과 sts 이용한 방법이 있음
두가지 방법 중
이클립스를 이용한 방법
jar파일 적용
프로젝트명 오른쪽 단추 - Properties - java Build Path - Libraries - Add External JARs..
- jar파일있는 폴더안에 들어가서 jar 파일 다 선택 한후 Ok 누르기
bean컴프리션? 설정할 수 있는 플러그인 설치
help - Install New SoftWare - Work with 에 -
http://springide.org/updatesite 치고 Enter 누르면 Pending 이라고 뜨다가
항목이 나옴
Core / Spring IDE 체크 - next - next - accept 한 후에 finish
설치 후 이클립스 다시 실행
User Agent Analysis 뜨고 Accept 누르면 됨
File - new - Other - Spring - Spring Bean Configuration File 이 나오면 잘 설치 된것임
전에 했던 예제 패키지 복사 한후에
src 누르고 위에 SBCF 나오게 한 후에 파일명 마음대로 지정 난 beans 한 후에 OK
beans.xml 에서 설정하기
<bean/> 하위노드가 없는 경우 이렇게 함
<bean id="ob" class="exam03.MessageBeanEn"/>
HelloApp 설정(pdf p.26 참고)
xml 파일은 프로젝트 밑에 둠..(안되면)
//////////////////////////////////////////////////////
** BeanFactory 가 최상위지만 이것에서 파생된 ApplicationContext를 사용하는 것이 일반적이다.
** 기본 생성자를 생성하지 않고 매개변수가 있는 생성자만 생성할 경우
자바가 내부적으로 기본 생성자를 만들지 않기 때문에 에러가 난다.
그러므로 습관적으로 기본 생성자(디폴트)를 항상 생성해줘야 한다.
에러메세지 --> No default constructor found
<bean id="ob" class="exam05.MessageBeanEn"/>
기본생성자를 생성하지 않아서 오류 발생
위에 기본생성자 주석을 막지 않으면 오류 안남
//////
의존관계 설정 (속성을 갖는 것) 두가지 방법
생성자 방식 : 생성자 에서
프로퍼티 방식 : Setter 에서
'JAVA > Spring' 카테고리의 다른 글
RefreshScope 적용안되는 경우 (0) | 2018.11.02 |
---|---|
의존 관계 자동 설정에 관하여 (간단) (0) | 2016.07.03 |