총 10분 중 11분
2001
시즌 2개, 그리고 영화
시즌 2: 5화 “아일랜드”
출연: 이나영, 김민준, 김민정, 현빈
장르: 애초에 역경을 딛고 이룩하는 숭고한 사랑이란 없다. 그 역경 자체가 사랑이다.
프로그램 특징: 그 곳에서 살아남는 사랑이 어떤 모습으로 걸어오는지 기다려 보고 싶다.
KB_ITs_Your_Life_6th/Spring 스프링 프레임워크 기본기
728x90
반응형

Spring framework

Web 프로젝트에 주로 사용되는 OOP 구조를 뒷받침하고 전체 구조를 설계하는 뼈대 코드다. 

  • POJO(Plain Old Java Object) 기반의 구성
    객체 간 관계를 구성할 때 별도의 API 등을 사용하지 않아 특정 라이브러리나 컨테이너 기술에 종속적이지 않다.
  • 의존성 주입(Dependency Injection)
    하나의 객체 실행에 다른 객체가 필요한 상황을 의존성이라 한다. 의존성 주입은 어떤 객체가 필요한 객체를 외부에서 주입해준다는 것이다. 음식점의 예에서 직접 식재료를 사지 않고, 대행업체에서 배송해주는 것을 말하며 주입 받는 입장에서 어떤 객체인지 신경 쓸 필요 없이 편리한 점이 장점이다. 이때 대행업체의 역할이 ApplicationContext다. 
    • ApplicationContext
      필요한 객체를 생성하고 필요한 객체를 주입해주는 역할
      개발자는 이를 이용해 객체와 객체를 분리해 생성하고, 이런 객체를 엮어서(wiring) 작업하는 형태의 개발을 하게 된다.
    • Bean
      ApplicationContext가 관리하는 객체, 빈과 빈 사이의 의존관계는 XML, Annotation, Java 설정 방식을 이용할 수 있다.
  • AOP(Aspect Oriented Programming) 지원
    대부분 시스템에 공통으로 가지고 있는 보안, 로그, 트랜젝션과 같이 비즈니스 로직은 아니지만 반드시 처리해야하는 부분을 cross-concern이라 한다. cross-concern을 분리해서 모듈로 제작할 수 있게 하는 것이 AOP다. 덕분에 개발자는 핵심 비즈니스 로직에만 집중해서 코드를 개발할 수 있다. 
  • 편리한 MVC 구조
  • WAS에 종속적이지 않은 개발 환경

 

스프링의 동작

Context

스프링 프레임워크가 시작되면 먼저 스프링이 사용되는 메모리영역을 만들게 되는데 이를 Context라고 한다.

  • 스프링에서는 Application Context라는 이름의 객체가 만들어진다.

스프링은 자신이 객체를 생성하고 관리해야 하는 객체들에 대한 설정이 필요하다.

  • 이 설정을 1. xml로 할 수 있고 2. 자바 코드로 짜고 @Configuration annotation을 통해 할 수 있다. 
    • @Configuration : 해당 클래스의 인스턴스를 이용해 설정 파일을 대신하도록 하는 어노테이션

RootConfig / @Component

RootConfig에 설정되어 있는 @ComponentScan(basePackages)에 작성된 패키지를 스캔하기 시작한다.

해당 패키지에 있는 클래스 중에서 스프링이 사용하는 @Component 어노테이션이 존재하는 클래스의 인스턴스를 생성한다.

@Autowired

Restaurant 객체는 Chef 객체가 필요하다는 어노테이션(@Autowired) 설정이 있으므로 스프링은 Chef 객체의 레퍼런스를 Restaurant 객체에 주입한다. 

  • Autowired는 스프링이 개발자가 직접 객체들과 관계를 관리하지 않아도 자동으로 관리되도록 하는 어노테이션
728x90

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

JDBC 프로그래밍  (1) 2025.06.05
KB_ITs_Your_Life_6th/Spring 스프링 프레임워크 기본기