======= ERROR
컴파일 클래스 삭제 : run as - maven clean
라이브러리 리로딩 : maven - update project
.m2삭제 재시작
=======DI개념
container : 객체를 생성, 연결 / 객체 생명주기 관리 / 의존성 이어주기
DI : 의존성 주입 -> container 에게 위임 --
Ioc제어역전 = 의존성 주입을 container에게 위임함
bean = spring Ioc container에서 생성되고 관리되는 객체
1. xml로 생성하기
root혹은 servle-context.xml에서
객체생성은
<bean class="풀패키지명.클래스명" id="참조변수명" lazy-init="boolean"></bean>
객체생성시점
객체 필요할 때 lazy-init="false"
서버 시작시점 lazt-init="default" / true
의존성주입
setter, 생성자로 만들기
setter로 만들기
<property name="멤버변수명" value="Primitive, String"></property>
<property name="멤버변수명" ref="참조변수명"></property>
생성자로 만들기
<bean class="com.packagename.car.Wheel" id="wheel">
<constructor-arg name="size" value="p타입, String" />
<constructor-arg name="company" ref="참조변수명" />
</bean>
<constructor-arg index="0" value="17" />
<constructor-arg index="1" value="hakkook" />index로 할 수 있음
<constructor-arg type="java.lang.Integer" value="17"/>
<constructor-arg type="java.lang.String" value="hankook"/>타입으로
2. 어노테이션
<context:component-scan base-package="com.poseidon.car"/>추가해서 씀
A. 객체 생성 - 클래스의 선언부 위에 작성
1) @Controller : 객체생성, Controller 역활을 부여
2) @Service : 객체생성, Service 역활을 부여
3) @Repository : 객체생성, DAO(Repository) 역활을 부여
4) @Component : 객체생성, 그외 나머지
B. 객체 주입
@Inject : 데이터타입으로 찾음, java제공
@named("")로 객체 선택
@Autowired : 데이터타입으로 찾음, 같은 이름으로 Spring에서 제공 ..
@Quilityfier("")로 객체 선택
@Resource(name="") : name으로 검색해서 Inject, xml의 id