본문 바로가기
백엔드/Spring

Spring Framework 개념

by shinyou1024 2020. 5. 19.

EJB

EJB : 자바 엔터프라이즈 애플리케이션 개발 표준

이 대안으로 Spring Framework가 나왔다

Spring Framework

자바 엔터프라이즈 개발을 위한 오픈소스 경량 애플리케이션 프레임워크

  • 공통 프로그래밍 모델 및 Configuration 모델 제공

  • 프레임워크가 애플리케이션 수준의 인프라 구조 제공

  • 엔터프라이즈 시스템 : 서버환경에서 동ㅇ—-

  • 다른 프레임워크와의 연동이 좋다

스프링 삼각형

스프링 삼각형

POJO (Plain Old Java Object)

POJO : 특별한 기술에 종속되지 않은 순수한 자바 객체

  • 다른 클래스에 종속적이지 않은 (다른 클래스를 상속하지 않는) 클래스!
  • 테스트가 쉽고 객체 지향 설계를 자유롭게 적용할 수 있음
  • 엔터프라이즈 시스템의 복잡함을 나눠서 개발할 수 있다
  • 스프링은 비즈니스 로직의 복잡함과 엔터프라이즈 기술의 복잡함을 분리해서 구성할 수 있게 해 줌

IoC (Inversion Of Control)

IoC : 객체 지향 언어에서 객체 간의 연결 관계를 런타임에 결정하게 하는 방법

  • 제어의 역전
  • 객체 간의 관계가 느슨하게 연결됨
  • DI(Dependency Injection) : IoC의 구현 방법 중 하나

applicationContext.xml

스프링프레임워크는 Bean Container이다

  • 빈 생성, 소멸, 관리를 담당한다

 

XML의 태그명은 데이터에 대한 서술, 설명이다

applicationContext.xml

<!-- 등록할 Bean을 정의 -->
<!--  주의) 추상 클래스나 인터페이스는 등록 불가 -->
<!-- 누군가에게 불려지면 이 안에 있는 클래스에 대한 객체를 생성한다-->
<bean class="com.shinyou.myapp.MessageBeanKo"
        id="msg"></bean>
<!-- MessageBeanKo msg = new MessageBeanKo() -->

HelloTest.java

import org.springframework.context.ApplicationContext;
import org.springframework.context.suppor.CalssPath
// 외부에서 클래스 객체 생성하고 전달, 관리
// 외부관리 : XML파일을 통해!
public class HelloTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        // xml에서 객체가 생성됨!
        ApplicationContext ctx = new ClassPathXmlApplicationContext("com/shinyou/myApp/applicationContext.xml");
        MessageBean msg = (MessageBean) ctx.getBean("msg"); // 자식 캐스팅 필요 
        msg.sayHello("헬로월드");        
    }

}

'백엔드 > Spring' 카테고리의 다른 글

스프링 자주하는 실수  (0) 2020.05.20

댓글