본문 바로가기

Web/Spring

Spring DI ( 의존성 주입 방법 ) 1일차

spring-reference-rogerrb.pdf

MVC(Model View Controler)

Model - db에 데이터를 읽고 쓰는부분 dto,dao,action

view - 화면에 보여지는 부분 ,html, css, javascript, jsp, jstl, Jquery

controller - action 요청에 맞추어서 view Model2 연동

 

1. DI (의존성 주입) : 장점 : 객체를 자동으로 만듬 싱글톤으로 생성했다가 파기했다가 벌어지지 않는 단점을 갖고있다. 객체를 미리 만들어 놨다가 스타트할경우 속도가 느림, 응답시간은 매우 빠름, 자바 객체를 생성을 할경우  new 를 사용해서 객체를 생성해서 사용하는데 스프링에서는 의존성주입이라는 기능이 갖춰져있음

 

 

기본적인 Spring lib 파일명은 3가지

commons-logging
org.springframework.beans-3.0.2.RELEASE
org.springframework.core-3.0.2.RELEASE


HelloApp.java 

 

package Message;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;

public class HelloApp {
 public static void main(String[] args) {
  
  //스프링 프레임워크를 통해서 객체를 생성한다.
  FileSystemResource fsr = new FileSystemResource("beans.xml");
  
  //spring 설정 파일을 읽는다.
  BeanFactory factory = new XmlBeanFactory(fsr);
  
  //xml 파일을 읽어서 객채를 생성하도록 도와주는 클래스
  MessageBean bean = factory.getBean("messageBean",MessageBean.class);
  
  MessageBean bean2 = factory.getBean("messageBean2",MessageBean.class);
  //spring 설정파일을 읽는다.
  
  bean.sayHello("긴또깡");
  bean2.sayHello("KiM Do Kang");
 }

 

순서

 

 MessageBean.java -> MessageBeanKr.java -> MessageBeanEn.java

    ( 최 상 위 )                      ( 중 )                          ( 하 )

 

MessageBean.java

최상위 인터페이스!!

package Message;

//인터페이스를 설계한다.
public interface MessageBean {
 public void sayHello(String name);

 

MessageBeanKr.java

 

package Message;

public class MessageBeanKr implements MessageBean{

 @Override
 public void sayHello(String name) {
  System.out.println("안녕하세요" + name + "!");
 }

 

MessageBeanEn.java

 

package Message;

public class MessageBeanEn implements MessageBean{

 @Override
 public void sayHello(String name) {
  System.out.println("Hello, "+name);
 }

 

bean.xml

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  
    <bean id="messageBean" class="Message.MessageBeanKr" />
    <bean id="messageBean2" class="Message.MessageBeanEn" />
</beans> 

 

 

Result 결과 화면 :

Console ->  

안녕하세요긴또깡!
Hello, KiM Do Kang

 

'Web > Spring' 카테고리의 다른 글

SpringWeb1 만들기  (0) 2013.09.07
Spring 2번쨰  (0) 2013.08.31
Spring Framework 개념  (0) 2012.10.23
Spring json maven 설정  (0) 2012.09.10
Spring Take 선물주기  (0) 2012.09.09