Spring Framework
<!-- http://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.6.RELEASE</version>
</dependency>
의존성 주입 : 전략패턴 (리스코프치환+의존성역전원칙)이 적용된 상태에서 객체를 만들어서 넣어주는 작업
스프링 컨테이너를 만드는 방법 -> 스프링 컨테이너 설정파일을 설정하고,
- xml을 이용하는 방법(주로 사용)
- 자바코드만을 이용하는 방법
스프링 컨테이너도 자바 객체라 그랬고, 이아이는 ApplicationContext의 구현 클래스로 만들어져 있음
GenericXmlApplicationContext도 있고, FileSystemXmlApplicationContext
<bean id="robot" class="di03.Robot" lazy-init="true"></bean>
lazy-init 속성을 true로 주면 빈 객체는 컨테이너 빌드시 생성 안하고, 처음으로 getBean요청이 있을때 생성함
<bean id="robot" class="di03.Robot" scope="prototype"></bean>
getBean할 때 마다 딴놈줌, default값은 싱글턴
<bean id="robot" class="di04_2.Robot"> <constructor-arg name="attack" ref="punchAttack"/> </bean>
기본 생성자가 아닌 생성자를 통해 객체를 생성하려면 어떤 매개변수를 받는 생성자에 어떤 값을 넣을지를 constructor-arg태그를 통해 지정해줘야함
<bean id="singleton" class="di04_2.Singleton" factory-method="getInstance"></bean>
기본 생성자도 없고 다른 생성자도 없는 아이를 빈으로 등록하려면 객체를 생성해주는 팩토리메소드를 factory-method 속성에 지정해주셔야됨
' IOT 기반 응용 SW과정 > Web Programing' 카테고리의 다른 글
Day52 jdbcTemplate // MyBatis (0) | 2016.05.31 |
---|---|
Day51 스프링 JDBC (0) | 2016.05.30 |
Day48 DB / Spring Framwork (0) | 2016.05.25 |
Day47 MVC, 커맨드 패턴 (0) | 2016.05.24 |
Day46 자바스크립트 (0) | 2016.05.24 |