a는 b가 필요해
a는 b를 사용할거야
어떤 방식으로 주입받는가? : has a 방식으로 constructor injection(의무적으로할때) setter injection 방식 (선택적으로 할때)
스프링은 별도의 메모리 공간 (컨테이너)를 IOC 제어의 역전 형태로 가진다.
형태는 xml 또는 java로 할 수 있다.
지난주 금요일에 한 게 xml
Q
xml에서 class명을 써주고 id를 부여하기
java에서 getBean으로 id와 연결한 class 명 쓰기
interface를 상속하는 객체를 변경하려면 xml에서 class만 바꿔주면 됨. (kr -> en 사용)
다시 읽어야함!!
이 페키지 요약 :
getBean()
1. 컨테이너 안에 있는 객체를 리턴 (new 가 아니예요)
2. return type Object (타입에 맞는 casting)
3. 스프링 컨테이너 안에 객체들은 default singleton
4. 예외적으로 getbean() 이 new 라는 할 수 도 있다 (거의 쓰지 않는다)
객체의 생성과 조립(주입)
spring 은 자신만의 컨테이너를 제공 (spring 전용 메모리 공간) 안에
xml 또는 annotation를 통해서 객체를 생성하고 조립하는 과정을 수행 (객체간의 관계 설정)
컨테이너 안에 생성돤 객체를 불러서 .... getbean() 함수
:IOC 컨테이너 (제어의 역전) : 스프링에게 맡김
내가 주도했던 코드에서 Spring 이 주체 .....
:작은 단위의 부품을 만들고 놓고 그 것을 조립하는 행위 (레고블럭)
MyBean mybean = new MyBean();
MyBean mybean2 = new MyBean("hong");
MyBean mybean3 = new MyBean();
기본적으로 스프링에서 만든 객체는 싱글톤 타입을 갖습니다.
그래서 아래 주소값이 같은것임.
단 bean의 id가 다르다면 따로따로 각각의 다른 객체가 생성됨
new를 하지 않고도 생성하는 법도 비교
3점대 버전에서는 .. 싱글톤..
설계 연습 해봄
순서
article dto > ariticle dao interface > oracle/maria dao 각각 > service
이거 왜 캡쳐했지
xml
helloapp
참고 파라미터값 뜨는거 확인
xml파일에서 arrayList 해봄
순수한 자바코드로 아래와같이 생성하는 것을 xml 에서 해보면 ..
bean 생성 후 list태그에 (arrayList임) 담을 수 있는데
아래와 같이 더 간단히 나타낼 수도 있음
JobExecute 클래스 모습
기본 string
int로 설정 시 > int로 오버로딩된 함수 호출 됨.
스프링 부트 프로젝트를 만들 시
야믈? yml 파일은 tap키 들여쓰기로 구분함
xml 설정 : Namespace 에서 context 라이브러리 선택
그러면 xml 파일 source 보기에서 다음과 같이 주소 생김
context 태그를 쓰면 사용가능간 것들이 뜸
프로퍼티즈 파일 읽어오는 xml 설정은 알아두기!!
복붙인데다가 빨라서 이해도가 떨어짐....
어노테이션 양대산맥
@Autowired : 타입으로 injection
@Resource : 이름으로 injecton
???
카페 영상보기와
properties게시물 읽기