Spring 기본 개념

오븐·2023년 7월 12일

현재 스프링을 통해 서버를 개발해야한다. (열심히) 클론 코딩하던게 버전이 터져서 막힌 김에 개념부터 다시 짚고 넘어가려 한다... 본 글은 스프링 프레임워크 첫걸음(주. 후루네스 키노시타 마사아키 저), 스프링 공식문서 등을 참고한다.

스프링 프레임워크

자바를 사용하는 개발 뼈대. 이걸로 소프트웨어나 애플리케이션 개발을 간단하게 할 수 있다.
하지만 그만큼 프레임워크 고유의 사용법을 이해해야 한다.

스프링 부트

스프링 애플리케이션을 복잡한 설정 없이 빠르게 작성할 수 있다. (0에서 100부터 버전관리 및 설정해야하는 스프링 프레임워크보다 버전 관리 짱 쉬움...)

스프링 프로젝트

스프링 MVC: 웹 애플리케이션을 간단하게 생성한다
스프링 데이터: 데이터 접근에 관한 기능을 제공한다.
스프링 배치: 배치 처리 기능을 제공한다.

핵심 기능

의존성 주입DI + 제어의 역전IoC

의존하는 부분을 외부에서 주입함으로써, 생성된 후에 속성이 정해진다.
=> '사용하는 객체' 클래스에 '사용되는 객체' 클래스가 작성되어 있고, '사용하는 객체' 클래스의 밖에서 '사용되는 객체' 인스턴스를 주입한다.
'''org.springframework.beans'''나 '''org.springframework.context'''가 스프링이 제공하는 기본 컨테이너(속성을 담는 그릇)이다. 이런 컨테이너를 통해 관리되는 것이 bean.

  • configure metadata: 컨테이너는 이걸 읽어 인스턴스화, 구성, 어셈블함. @어노테이션을 사용하거나 자바 클래스를 사용해 정할 수 있다.

관점 지향 프로그래밍AOP

  • 중심적 관심사: 실현해야 할 기능을 나타내는 프로그램
  • 횡단적 관심사: 본질적 기능X 품질 및 유지보수에 필요 O
    => 공통 처리 등의 횡단2적 관심사를 추출해 프로그램의 여러 곳에 호출할 수 있게 설정. 중심적 관심사에만 집중해서 작성하면 되는 구조.
profile
하루에 한번 정권 찌르기

0개의 댓글