스프링 프레임워크 소개
소개
스프링 프레임워크는 자바 애플리케이션 개발을 위한 포괄적인 인프라스트럭처를 제공하는 자바 플랫폼임.
스프링을 사용하면 "plain old Java objects" (POJOs)로 애플리케이션을 만들고 엔터프라이즈 서비스에 비침투적으로 POJOs를 적용할 수 있음.
이 능력은 Java SE 프로그래밍 모델에 적용되고, 전체 혹은 부분적으로 Java EE에 적용됨.
스프링의 이점을 사용한 예
- 트랜잭션 API를 사용하지 않고도 데이터베이스 트랜잭션 안에서 자바 메서드가 실행하게 만듦.
- 원격 API를 사용하지 않고도 로컬 자바 메서드를 원격 프로시저로 만듦.
- JMX API를 사용하지 않고도 로컬 자바 메서드를 관리작업으로 만듦.
- JMS API를 사용하지 않고도 로컬 자바 메서드를 메시지 핸들러로 만듦.
목표 [1]
Let's build a better Enterprise.
Spring helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications.
BUILD ANYTHING
Write clean, testable code against the infrastructure components of your choice and accomplish any task – without re-inventing the wheel.
RUN ANYWHERE
Keep it portable – Spring-based apps run anywhere the JVM does. Deploy standalone, in an app server, on a PaaS or all of the above.
REST ASSURED
Code with confidence – Spring provides an open programming model that is comprehensive, cohesive, widely understood and well-supported.
더 나은 엔터프라이즈 애플리케이션을 구축하자.
스프링은 어디서나 간단하고, 이식하기 쉬우며, 신속하고, 유연하게 JVM 기반의 시스템과 애플리케이션을 구축할 수 있도록 개발팀을 도와줍니다.
무엇이든 구축하세요
어떤 인프라스트럭처 컴포넌트를 선택하든지 깔끔하고 테스트 가능한 코드를 작성하고, 모든 작업을 수행합니다. – 바퀴를 재발명하지 마세요.
어디서나 동작합니다
이식성 유지 – 스프링 기반 애플리케이션은 JVM 실행 환경에서 어디서나 동작합니다. 스탠드얼론, 애플리케이션 서버, PaaS 등 모든 곳에 배포됩니다.
걱정하지 마세요
신뢰할 수 있는 코드 – 스프링은 포괄적이고, 응집성이 있으며, 널리 이해되고, 잘 지원하는 오픈 프로그래밍 모델을 제공합니다.
Spring Mission Statement [2]
We believe that:
- J2EE should be easier to use.
- It's best to program to interfaces, rather than classes. Spring reduces the complexity cost of using interfaces to zero.
- JavaBeans offer a great way of configuring applications.
- OO design is more important than any implementation technology, such as J2EE.
- Checked exceptions are overused in Java. A framework shouldn't force you to catch exceptions you're unlikely to be able to recover from.
- Testability is essential, and a framework such as Spring should help make your code easier to test.
- Our philosophy is summarized in “Expert One-on-One J2EE Design and Development” by Rod Johnson.
우리의 믿음
- J2EE는 사용하기 쉬워야 합니다.
- 클래스보다 인터페이스를 사용하여 프로그래밍을 하는 것이 가장 좋습니다. 스프링은 인터페이스를 사용함으로써 복잡도 비용을 0으로 감소시킵니다.
- 자바빈은 애플리케이션을 구성하는 훌륭한 방법을 제공합니다.
- 객체지향 설계는 J2EE와 같은 구현 기술보다 더 중요합니다.
- 자바에서 체크드 익셉션이 과도하게 사용됩니다. 여러분이 복구할 수 있을 것 같지 않은 예외를 처리하도록 강요해서는 안됩니다.
- 테스트 용이성은 필수적이며, 스프링과 같은 프레임워크는 여러분의 코드를 테스트하기 쉽도록 도와주어야 합니다.
- 우리의 철학은 Rod Johnson 이 쓴 [Expert One-on-One J2EE Design and Development] 에 요약되어 있습니다.
We aim that:
- Spring should be a pleasure to use.
- Your application code should not depend on Spring APIs.
- Spring should not compete with good existing solutions, but should foster integration. (For example, JDO, Toplink, and Hibernate are great O/R mapping solutions. We don't need to develop another one.)
우리의 목표
- 스프링은 사용하기 즐거워야 합니다.
- 여러분의 애플리케이션 코드는 스프링 API에 의존해서는 안됩니다.
- 스프링은 현재 존재하는 좋은 솔루션과 경쟁하지 않습니다. 그러나 통합은 촉진해야 합니다. (예를 들어, JDO, Toplink, 하이버네이트는 훌륭한 O/R 매핑 솔루션입니다. 우리는 그런 것을 또 하나 만들 필요가 없습니다.)
라이선스 [3]
[1] ^ https://spring.io/
[2] ^ www.springframework.org/statement.html (현재 존재하지 않음). 최초 스프링 프레임워크의 목표를 이해하는 측면에서 참고할 수 있음.
[3] ^ https://github.com/spring-projects/spring-framework#license