엔터프라이즈 애플리케이션을 위한 개발환경을 제공하는 프레임 워크로 개발자가 기능 개발에만 집중할 수 있도록 도움을 주었고, 서버 성능, 안정성, 보안을 놓은 수준으로 제공
스프링의 단점인 설정이 복잡한 것을 보완한 프레임워크
주요기능
1) WAS가 내장되어 있어 별도 설치가 필요 없음
2) 빌드를 간편하게 하는 스타터 제공
3) 자바 코드로 모든 내용을 작성 가능
4) JAR을 이용하여 자바 옵션만으로도 배포가 가능
IOC(제어의 역전): 객체를 생성할 때, 직접 필요한 곳에 생성하는 것이 아닌 외부에서 관리(스프링 컨테이너가 관리)하는 객체를 가지고와 사용함
DI(의존성 주입): 애너테이션을 사용(@Autowired)하여 스프링 컨테이너에 있는 빈을 주입
스프링 컨테이너가 직접 생성하고 관리하는 객체
클래스에 애너테이션(@Compoment)을 붙여 사용
@Component --> "oneBean"의 이름으로 관리됨 public class OneBean{ ''' }
핵심관점과 부가관점을 분리하여 효율으로 업무를 배분하고 집중 개발이 가능하도록 함
스프링에서 제공하는 다양한 기술들을 추상화해 개발자가 쉽게 사용하는 인테페이스
(WAS, JPA, MyBatis, JDBC 등)