스프링 부트
스프링 부트는 스프링 프레임워크를 더 쉽고 빠르게 이용할 수 있도록 만들어주는 도구로, 개발자가 조금 더 비즈니스 로직 개발에만 집중할 수 있도록 해줌!
- 톰캣, 제티, 언더토우 같은 웹 애플리케이션 서버(web application server, WAS)가 내장되어 있어서 따로 설치를 하지 않아도 독립적으로 실행할 수 있다.
- 빌드 구성을 단순화하는 스프링 부트 스타터를 제공한다.
- XML 설정을 하지 않고 자바 코드로 모두 작성할 수 있다.
- JAR를 이용해서 자바 옵션만으로도 배포가 가능하다.
- 애플리케이션의 모니터링 및 관리 도구인 스프링 액츄에이터(spring actuator)를 제공한다.
스프링의 중요 컨셉
- IoC(Inversion Of Control): 객체의 생성과 관리를 개발자가 하는 것이 아니라 프레임워크가 대신하는 것
- DI(Dependency Injection): 외부에서 객체를 주입받아 사용하는 것
- AOP(Aspect Oriented Programming): 프로그래밍을 할 때 핵심 관심 사항과 공통 관심사항을 나누어서 개발하는 것
- PSA(Portable Service Abstraction): 어느 기술을 사용하던 일관된 방식으로 처리하도록 하는 것
- 다양한 서비스 기술과 프레임워크를 추상화하여 일관된 프로그래밍 모델을 제공하는 것
- PSA를 통해 스프링 애플리케이션은 특정 기술에 종속되지 않고, 다양한 서비스 구현체를 쉽게 교체하거나 확장할 수 있다.
- 이는 애플리케이션의 유연성과 유지보수성을 크게 향상시킨다.
- 개발자는 특정 기술에 종속되지 않고 일관된 방식으로 다양한 서비스를 사용할 수 있으며, 변경과 화가장에 유연하게 대응할 수 있다.
반응형