This post was written to study English.
이 포스팅은 영어 공부를 위해 작성되었습니다.
Please tell me if there is anything that needs to be corrected.
고쳐야 할 부분이 있다면 알려주세요.
ㅇ 파파고 번역 ㅇ 좀 더 매끄러운 표현 ㅇ 틀린 표현
https://docs.spring.io/spring/docs/current/spring-framework-reference/overview.html#overview
Spring Framework Overview
Spring makes it easy to create Java enterprise applications.
스프링은 Java enterprise 어플리케이션을 쉽게 만들 수 있도록 해준다.
* enterprise : 기업, 사업, 산업
It provides everything you need to embrace the Java language in an enterprise environment, with support for Groovy and Kotlin as alternative languages on the JVM, and with the flexibility to create many kinds of architectures depending on an application’s needs.
그것은 당신이 필요로 하는 모든 것을 제공한다. enterprise 환경에서 자바 언어를 embrace 하기 위해
JVM를 대체 가능한 언어로 Groovy와 Kotlin에 대한 지원과 함께
그리고 어플리케이션의 필요에 의존하는 많은 종류의 아키텍쳐들을 만들기 위한 유연성과 함께
그것은 enterprise 환경에서 자바 언어를 embrace 하기 위해 당신이 필요로 하는 모든 것을 제공한다.
JVM를 대체 가능한 언어로 Groovy와 Kotlin에 대한 지원과 어플리케이션의 필요에 의존하는 많은 종류의 아키텍쳐들을 만들기 위한 유연성과 함께
그것은 기업 환경에서 자바 언어를 포용하는 데 필요한 모든 것을 제공하고, JVM의 대체 언어로서 그루비와 코틀린을 지원하며, 애플리케이션의 필요에 따라 많은 종류의 아키텍처를 만들 수 있는 유연성을 제공한다.
* embrace : 안다, 포옹하다, 매수하다
* support for : ~에 대한 지원
* alternative : 대안적인, 대체 가능한, 대안, 선택 가능한 것
* architecture : 아키텍쳐, 컴퓨터 시스템의 구성
* depend on : ~에 의존하다, ~을 신뢰하다, 믿다
As of Spring Framework 5.1, Spring requires JDK 8+ (Java SE 8+) and provides out-of-the-box support for JDK 11 LTS.
현재 Spring Framework 5.1에서 Spring은 JDK 8+ (Java SE 8+)를 요구하고 JDK 11 LTS를 위한 격이 다른 지원을 제공한다.
Spring Framework 5.1을 기준으로 Spring은 JDK 8+(Java SE 8+)를 필요로 하며 JDK 11 LTS를 즉시 지원한다.
* as of : 현재로
* require : 필요로 하다, 요구하다
* out-of-the-box : 발군의, 격이 다른
Java SE 8 update 60 is suggested as the minimum patch release for Java 8, but it is generally recommended to use a recent patch release.
Java SE 8 update 60은 Java 8을 위한 최소한의 패치 release가 제안된다. 하지만 그것은 보통 최근 패치 relaese를 사용하기 위해 추천된다.
Java SE 8 업데이트 60은 Java 8의 최소 패치 릴리스로 제안되지만, 일반적으로 최신 패치 릴리스를 사용하는 것이 좋다.
* suggest : 제안/제의하다, 추천하다, 시사/암시하다
* release : 풀어주다, 석방하다, 양도하다
* generally : 대개, 보통, 일반적으로
Spring supports a wide range of application scenarios.
Spring은 넓은 범위의 어플리케이션 시나리오를 지원한다.
* scenario : 시나리오
In a large enterprise, applications often exist for a long time and have to run on a JDK and application server whose upgrade cycle is beyond developer control.
대기업에서, 애플리케이션은 종종 오랜 시간 존재하고 JDK와 어플리케이션 서버에 구동되어야 한다. 개발자 컨트롤 너머의 upgrade cycle
대기업에서, 어플리케이션은 종종 오랜 시간 존재하고, JDK와 개발자 컨트롤 너머의 upgrade cycle 어플리케이션 서버에 구동되어야 한다.
대기업에서 애플리케이션은 종종 장기간 존재하며 업그레이드 주기가 개발자 통제 범위를 벗어나는 JDK 및 애플리케이션 서버에서 실행되어야 한다.
* beyond : ~ 저편에, 너머
Others may run as a single jar with the server embedded, possibly in a cloud environment.
다른 것들은 서버에 embed된 단독의 jar로써 실행될 것이다. 아마 cloud 환경에서
다른 것들은 아마 클라우드 환경의 내장형 서버에서 단독 jar로써 실행될 것이다.
다른 것들은 서버가 내장된 단일 항아리로 실행될 수 있으며, 아마도 클라우드 환경에서 실행될 수 있다.
* embeded : 내장형
* possibly : 아마
Yet others may be standalone applications (such as batch or integration workloads) that do not need a server.
아직 다른 것들은 아마 독립형의 어플리케이션이다. (무리나 통합 작업량과 같은) 그것은 서버를 필요로 하지 않는다.
아직 다른 것들은 아마 서버가 필요 없는 독립형의 어플리케이션이다. (무리나 통합 작업량과 같은)
그러나 다른 애플리케이션은 서버를 필요로 하지 않는 독립형 애플리케이션(예: 배치 또는 통합 워크로드)일 수 있다.
* standalone : (특히 컴퓨터가) 독립형의
* batch : 집단, 무리
* integration : 통합
* workload : 업무량, 작업량
Spring is open source.
Spring은 오픈 소스이다.
It has a large and active community that provides continuous feedback based on a diverse range of real-world use cases.
그것은 크고 활동적인 커뮤니티가 있다. 지속적인 피드백을 제공하는. 다양한 범위의 현실에서 사용된 케이스를 바탕으로
그것은 광범위한 현실에서 사용한 케이스를 바탕으로 지속적인 피드백을 제공하는 크고 활동적인 커뮤니티가 있다.
다양한 실생활 활용 사례를 바탕으로 지속적인 피드백을 제공하는 크고 활발한 커뮤니티를 보유하고 있다.
* diverse : 다양한
This has helped Spring to successfully evolve over a very long time.
이것은 Spring이 성공적으로 오랜 기간 발달하는데 도움을 줬다.
이것은 스프링이 매우 오랫동안 성공적으로 진화하는데 도움을 주었다.
* evolve : 발달하다, 진전하다
1. What We Mean by "Spring"
The term "Spring" means different things in different contexts. It can be used to refer to the Spring Framework project itself, which is where it all started. Over time, other Spring projects have been built on top of the Spring Framework. Most often, when people say "Spring", they mean the entire family of projects. This reference documentation focuses on the foundation: the Spring Framework itself.
The Spring Framework is divided into modules. Applications can choose which modules they need. At the heart are the modules of the core container, including a configuration model and a dependency injection mechanism. Beyond that, the Spring Framework provides foundational support for different application architectures, including messaging, transactional data and persistence, and web. It also includes the Servlet-based Spring MVC web framework and, in parallel, the Spring WebFlux reactive web framework.
A note about modules: Spring’s framework jars allow for deployment to JDK 9’s module path ("Jigsaw"). For use in Jigsaw-enabled applications, the Spring Framework 5 jars come with "Automatic-Module-Name" manifest entries which define stable language-level module names ("spring.core", "spring.context" etc) independent from jar artifact names (the jars follow the same naming pattern with "-" instead of ".", e.g. "spring-core" and "spring-context"). Of course, Spring’s framework jars keep working fine on the classpath on both JDK 8 and 9+.
2. History of Spring and the Spring Framework
Spring came into being in 2003 as a response to the complexity of the early J2EE specifications. While some consider Java EE and Spring to be in competition, Spring is, in fact, complementary to Java EE. The Spring programming model does not embrace the Java EE platform specification; rather, it integrates with carefully selected individual specifications from the EE umbrella:
-
Servlet API (JSR 340)
-
WebSocket API (JSR 356)
-
Concurrency Utilities (JSR 236)
-
JSON Binding API (JSR 367)
-
Bean Validation (JSR 303)
-
JPA (JSR 338)
-
JMS (JSR 914)
-
as well as JTA/JCA setups for transaction coordination, if necessary.
The Spring Framework also supports the Dependency Injection (JSR 330) and Common Annotations (JSR 250) specifications, which application developers may choose to use instead of the Spring-specific mechanisms provided by the Spring Framework.
As of Spring Framework 5.0, Spring requires the Java EE 7 level (e.g. Servlet 3.1+, JPA 2.1+) as a minimum - while at the same time providing out-of-the-box integration with newer APIs at the Java EE 8 level (e.g. Servlet 4.0, JSON Binding API) when encountered at runtime. This keeps Spring fully compatible with e.g. Tomcat 8 and 9, WebSphere 9, and JBoss EAP 7.
Over time, the role of Java EE in application development has evolved. In the early days of Java EE and Spring, applications were created to be deployed to an application server. Today, with the help of Spring Boot, applications are created in a devops- and cloud-friendly way, with the Servlet container embedded and trivial to change. As of Spring Framework 5, a WebFlux application does not even use the Servlet API directly and can run on servers (such as Netty) that are not Servlet containers.
Spring continues to innovate and to evolve. Beyond the Spring Framework, there are other projects, such as Spring Boot, Spring Security, Spring Data, Spring Cloud, Spring Batch, among others. It’s important to remember that each project has its own source code repository, issue tracker, and release cadence. See spring.io/projects for the complete list of Spring projects.
3. Design Philosophy
When you learn about a framework, it’s important to know not only what it does but what principles it follows. Here are the guiding principles of the Spring Framework:
-
Provide choice at every level. Spring lets you defer design decisions as late as possible. For example, you can switch persistence providers through configuration without changing your code. The same is true for many other infrastructure concerns and integration with third-party APIs.
-
Accommodate diverse perspectives. Spring embraces flexibility and is not opinionated about how things should be done. It supports a wide range of application needs with different perspectives.
-
Maintain strong backward compatibility. Spring’s evolution has been carefully managed to force few breaking changes between versions. Spring supports a carefully chosen range of JDK versions and third-party libraries to facilitate maintenance of applications and libraries that depend on Spring.
-
Care about API design. The Spring team puts a lot of thought and time into making APIs that are intuitive and that hold up across many versions and many years.
-
Set high standards for code quality. The Spring Framework puts a strong emphasis on meaningful, current, and accurate javadoc. It is one of very few projects that can claim clean code structure with no circular dependencies between packages.
4. Feedback and Contributions
For how-to questions or diagnosing or debugging issues, we suggest using StackOverflow, and we have a questions page that lists the suggested tags to use. If you’re fairly certain that there is a problem in the Spring Framework or would like to suggest a feature, please use the GitHub Issues.
If you have a solution in mind or a suggested fix, you can submit a pull request on Github. However, please keep in mind that, for all but the most trivial issues, we expect a ticket to be filed in the issue tracker, where discussions take place and leave a record for future reference.
For more details see the guidelines at the CONTRIBUTING, top-level project page.
5. Getting Started
If you are just getting started with Spring, you may want to begin using the Spring Framework by creating a Spring Boot-based application. Spring Boot provides a quick (and opinionated) way to create a production-ready Spring-based application. It is based on the Spring Framework, favors convention over configuration, and is designed to get you up and running as quickly as possible.
You can use start.spring.io to generate a basic project or follow one of the "Getting Started" guides, such as Getting Started Building a RESTful Web Service. As well as being easier to digest, these guides are very task focused, and most of them are based on Spring Boot. They also cover other projects from the Spring portfolio that you might want to consider when solving a particular problem.
'Spring > Spring Framework Document' 카테고리의 다른 글
[Spring Framework] MyBatis 연동, log4jdbc-log4j2 설정 (0) | 2020.06.14 |
---|---|
시작하기에 앞서 (0) | 2020.06.09 |