CS 공부 2주차. Spring에 관해 간략하게 정리해 보았습니다.
- 스프링 프레임워크 : 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크
- 스프링 특징
- IOC : Inversion of Control의 약자로 의존성을 역전시켜 제어권을 직접 가지지 않는 것입니다.
- DI : Dependency Injection으로 의존성을 외부에서 주입하는 것입니다.
- POJO : Plain Old Java Object의 약자로 기본적인 기능만 가진 자바 객체에 집중하여 특정 클래스나 라이브러리에 종속되지 않습니다. Spring은 POJO기반의 프레임워크 중 하나입니다.
- AOP : Aspect Oriented Programming의 약자로 코드들을 핵심적인 관점과 부가적인 관점으로 나누어 각각 모듈화하는 것입니다.
- Container : 인스턴스의 생명주기를 관리하는 독립적인 존재입니다. 스프링 프레임워크에 핵심부에 위치하며 DI를 통해 Bean 객체를 관리할 수 있습니다.
- Bean : Spring IoC Container가 관리하는 자바 객체입니다. 보통은 싱글톤으로 존재하나 프로토타입, 리퀘스트, 세션, 글로벌 세션 등의 scope로 생성할 수도 있습니다.
- @ : 주석이라는 뜻으로 코드의 메타데이터를 지정하여 실행중에 함수에 대한 정보를 제공하고 실행시킬 수 있도록 도와줍니다.
- Spring MVC vs Spring Boot : Spring MVC는 WAS에 올려서 사용할 수 있고 Spring Boot는 초기 설정이 간편하고 빌드하면 코드를 .jar파일로 만들어주며 embeded container로 어플리케이션을 실행시킵니다.
- DAO, DTO, Entity : DAO는 Data Access Object의 약자로 db에 접근하는 객체를 의미하고, DTO는 Data Transfer Object로 Data를 다른 계층으로 옮기는 객체를 의미하며 Entity는 DB테이블과 1대1로 대응하며 칼럼들을 필드로 가지는 객체를 의미합니다.