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>


<!-- http://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</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

+ Recent posts