From a49a0007b2bf9edd850114b1a1e7a6f4ac7d1e93 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 17 Apr 2017 19:55:45 +0200 Subject: [PATCH] Revised overview (aligned with the 4.3.x line) --- src/docs/asciidoc/overview.adoc | 36 ++++++++++----------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/docs/asciidoc/overview.adoc b/src/docs/asciidoc/overview.adoc index 45f54d44c4..2bb688c9c5 100644 --- a/src/docs/asciidoc/overview.adoc +++ b/src/docs/asciidoc/overview.adoc @@ -7,6 +7,8 @@ ifdef::backend-pdf[:source-highlighter: rouge] + + [[overview-getting-started-with-spring]] == Getting Started with Spring This reference guide provides detailed information about the Spring Framework. @@ -47,7 +49,6 @@ Examples of how you, as an application developer, can benefit from the Spring pl - [[overview-dependency-injection]] === Dependency Injection and Inversion of Control @@ -85,9 +86,8 @@ Injection__. - [[overview-modules]] -=== Modules +=== Framework Modules The Spring Framework consists of features organized into about 20 modules. These modules are grouped into Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentation, Messaging, and Test, as shown in the following diagram. @@ -264,7 +264,6 @@ stateless session beans for use in scalable, fail-safe web applications that mig declarative security. - [[dependency-management]] ==== Dependency Management and Naming Conventions Dependency management and dependency injection are different things. To get those nice @@ -307,9 +306,8 @@ So the first thing you need to decide is how to manage your dependencies: we gen recommend the use of an automated system like Maven, Gradle or Ivy, but you can also do it manually by downloading all the jars yourself. -You will find bellow the list of Spring artifacts. For a more complete description of each -modules, see <>. - +Below you will find the list of Spring artifacts. For a more complete description of +each module, see <>. .Spring Framework Artifacts |=== @@ -357,7 +355,7 @@ modules, see <>. |org.springframework |spring-jms -|JMS support package, including helper classes to send and receive JMS messages +|JMS support package, including helper classes to send/receive JMS messages |org.springframework |spring-messaging @@ -381,19 +379,17 @@ modules, see <>. |org.springframework |spring-web -|Web support packages, including client and web remoting +|Foundational web support, including web client and web-based remoting |org.springframework |spring-webmvc -|REST Web Services and model-view-controller implementation for web applications +|HTTP-based Model-View-Controller and REST endpoints for Servlet stacks |org.springframework |spring-websocket -|WebSocket and SockJS implementations, including STOMP support +|WebSocket and SockJS infrastructure, including STOMP messaging support |=== - - [[overview-spring-dependencies]] ===== Spring Dependencies and Depending on Spring Although Spring provides integration and support for a huge range of enterprise and @@ -409,7 +405,6 @@ anything is unclear, refer to the documentation of your dependency management sy look at some sample code - Spring itself uses Gradle to manage dependencies when it is building, and our samples mostly use Gradle or Maven. - [[overview-maven-dependency-management]] ===== Maven Dependency Management If you are using http://maven.apache.org/[Maven] for dependency management you don't even @@ -478,7 +473,6 @@ And for snapshots: ---- - [[overview-maven-bom]] ===== Maven "Bill Of Materials" Dependency ===== It is possible to accidentally mix different versions of Spring JARs when using Maven. @@ -525,7 +519,6 @@ attribute when depending on Spring Framework artifacts: ---- - [[overview-gradle-dependency-management]] ===== Gradle Dependency Management To use the Spring repository with the http://www.gradle.org/[Gradle] build system, @@ -554,7 +547,6 @@ usual Gradle way: } ---- - [[overview-ivy-dependency-management]] ===== Ivy Dependency Management If you prefer to use http://ant.apache.org/ivy[Ivy] to manage dependencies then there @@ -585,7 +577,6 @@ Once configured, you can add dependencies in the usual way. For example (in `ivy name="spring-core" rev="{spring-version}" conf="compile->runtime"/> ---- - [[overview-distribution-zip]] ===== Distribution Zip Files Although using a build system that supports dependency management is the recommended @@ -603,7 +594,6 @@ for http://repo.spring.io/milestone/org/springframework/spring[milestones] and http://repo.spring.io/snapshot/org/springframework/spring[snapshots]. - [[overview-logging]] ==== Logging Spring's logging setup has been revised for Spring 5: It is still based on the Apache @@ -638,12 +628,11 @@ Apache HttpClient, Castor, HtmlUnit) in order to pick up Spring's JCL bridge ins A custom `LogFactory` implementation at the Commons Logging level will NOT get picked up since Spring's bridge does not support custom `commons-logging.properties' setup. -For any other log provider, please set up corresponding SLF4J or JUL bridges (which +For any other log provider, please set up a corresponding SLF4J or JUL bridge (which you are very likely going to need for other libraries such as Hibernate anyway). Note that Log4j 1.x has reached its end-of-life; please migrate to Log4j 2.x. ==== - [[overview-logging-log4j]] ===== Using Log4j 2.x @@ -704,7 +693,6 @@ Here is an example `log4j2.xml` for logging to the console: ---- - [[overview-logging-slf4j]] ===== Using SLF4J with Logback @@ -732,12 +720,11 @@ matters that they eventually delegate to the same log provider. So while Spring go to Log4j directly, other libraries may go through the SLF4J binding for Log4j, or analogously for JUL. - [[overview-logging-jul]] ===== Using JUL (java.util.logging) Spring will delegate to `java.util.logging` by default, provided that no Log4j or -SLF4J API is detected in the classpath. So there is no special dependency to set up: +SLF4J API is detected on the classpath. So there is no special dependency to set up: just use Spring with no external dependency for log output to `java.util.logging`, either in a standalone application (with a custom or default JUL setup at the JDK level) or with an application server's log system (and its system-wide JUL setup). @@ -747,7 +734,6 @@ not included in `java.base`. This works fine when using Spring with Log4j or SLF since the JUL API is not referenced in such a scenario. However, when choosing to use JUL as a default log provider, remember to activate the `java.logging` module. - [[overview-logging-websphere]] ===== Commons Logging on WebSphere Spring applications may run on a container that itself provides an implementation of