Replace Starter POM to Starter in the documentation

"Starter POM" is a confusing term as it implies the starter may be a
POM while it's actually a jar artifact like any other dependency. To
reduce the confusion (especially in the way such starter should be
declared in the build), the term Starter POM has been renamed to Starter.

Closes gh-5966
pull/2656/head
Stephane Nicoll 9 years ago
parent dcf3a56bd5
commit 6698af08df

@ -127,7 +127,7 @@ available so you need to build that first since it's not generated by default.
$ ./mvnw clean install -pl spring-boot-tools/spring-boot-maven-plugin -Pdefault,full
----
The documentation also includes auto-generated information about the starter poms. To
The documentation also includes auto-generated information about the starters. To
allow this information to be collected, the starter projects must be built first:
[indent=0]

@ -10,8 +10,8 @@ covers the features in more detail.
== Enabling the Actuator
The simplest way to enable the features is to add a dependency to the
`spring-boot-starter-actuator` "`Starter POM`". To add the actuator to a Maven based
project, add the following "`starter`" dependency:
`spring-boot-starter-actuator` '`Starter`'. To add the actuator to a Maven based
project, add the following '`Starter`' dependency:
[source,xml,indent=0]
----

@ -147,7 +147,7 @@ Javadoc for complete details.
TIP: The http://cloud.spring.io/spring-cloud-connectors/[Spring Cloud Connectors] project
is a better fit for tasks such as configuring a DataSource. Spring Boot includes
auto-configuration support and a `spring-boot-starter-cloud-connectors` starter POM.
auto-configuration support and a `spring-boot-starter-cloud-connectors` starter.

@ -68,7 +68,7 @@ got you covered>>.
<<using-spring-boot.adoc#using-boot-maven, Maven>> |
<<using-spring-boot.adoc#using-boot-gradle, Gradle>> |
<<using-spring-boot.adoc#using-boot-ant, Ant>> |
<<using-spring-boot.adoc#using-boot-starter-poms, Starter POMs>>
<<using-spring-boot.adoc#using-boot-starter, Starters>>
* *Best practices:*
<<using-spring-boot.adoc#using-boot-structuring-your-code, Code Structure>> |
<<using-spring-boot.adoc#using-boot-configuration-classes, @Configuration>> |

@ -119,8 +119,8 @@ OSX Homebrew user try `brew install maven`. Ubuntu users can run
Spring Boot dependencies use the `org.springframework.boot` `groupId`. Typically your
Maven POM file will inherit from the `spring-boot-starter-parent` project and declare
dependencies to one or more <<using-spring-boot.adoc#using-boot-starter-poms, "`Starter
POMs`">>. Spring Boot also provides an optional
dependencies to one or more <<using-spring-boot.adoc#using-boot-starter,
"`Starters`">>. Spring Boot also provides an optional
<<build-tool-plugins.adoc#build-tool-plugins-maven-plugin, Maven plugin>> to create
executable jars.
@ -205,7 +205,7 @@ installed you can follow the instructions at http://www.gradle.org/.
Spring Boot dependencies can be declared using the `org.springframework.boot` `group`.
Typically your project will declare dependencies to one or more
<<using-spring-boot.adoc#using-boot-starter-poms, "`Starter POMs`">>. Spring Boot
<<using-spring-boot.adoc#using-boot-starter, "`Starters`">>. Spring Boot
provides a useful <<build-tool-plugins.adoc#build-tool-plugins-gradle-plugin, Gradle plugin>>
that can be used to simplify dependency declarations and to create executable jars.
@ -544,14 +544,14 @@ text editor for this example.
[[getting-started-first-application-dependencies]]
=== Adding classpath dependencies
Spring Boot provides a number of "`Starter POMs`" that make easy to add jars to your
Spring Boot provides a number of "`Starters`" that make easy to add jars to your
classpath. Our sample application has already used `spring-boot-starter-parent` in the
`parent` section of the POM. The `spring-boot-starter-parent` is a special starter
that provides useful Maven defaults. It also provides a
<<using-spring-boot.adoc#using-boot-dependency-management,`dependency-management`>>
section so that you can omit `version` tags for "`blessed`" dependencies.
Other "`Starter POMs`" simply provide dependencies that you are likely to need when
Other "`Starters`" simply provide dependencies that you are likely to need when
developing a specific type of application. Since we are developing a web application, we
will add a `spring-boot-starter-web` dependency -- but before that, let's look at what we
currently have.
@ -643,11 +643,11 @@ dependencies that you have added. Since `spring-boot-starter-web` added Tomcat a
Spring MVC, the auto-configuration will assume that you are developing a web application
and setup Spring accordingly.
.Starter POMs and Auto-Configuration
.Starters and Auto-Configuration
****
Auto-configuration is designed to work well with "`Starter POMs`", but the two concepts
Auto-configuration is designed to work well with "`Starters`", but the two concepts
are not directly tied. You are free to pick-and-choose jar dependencies outside of the
starter POMs and Spring Boot will still do its best to auto-configure your application.
starters and Spring Boot will still do its best to auto-configure your application.
****

@ -885,7 +885,7 @@ classpath to reference Tomcat 7 .
==== Use Tomcat 7 with Maven
[[howto-use-tomcat-7-maven]]
If you are using the starter poms and parent you can just change the Tomcat version
If you are using the starters and parent you can just change the Tomcat version
property, e.g. for a simple webapp or service:
[source,xml,indent=0,subs="verbatim,quotes,attributes"]
@ -932,7 +932,7 @@ dependencies.
[[howto-use-jetty-8-maven]]
==== Use Jetty 8 with Maven
If you are using the starter poms and parent you can just add the Jetty starter with
If you are using the starters and parent you can just add the Jetty starter with
the required WebSocket exclusion and change the version properties, e.g. for a simple
webapp or service:
@ -1335,7 +1335,7 @@ have been applied from the auto-configuration:
Spring Boot has no mandatory logging dependency, except for the `commons-logging` API, of
which there are many implementations to choose from. To use http://logback.qos.ch[Logback]
you need to include it, and some bindings for `commons-logging` on the classpath. The
simplest way to do that is through the starter poms which all depend on
simplest way to do that is through the starters which all depend on
`spring-boot-starter-logging`. For a web application you only need
`spring-boot-starter-web` since it depends transitively on the logging starter.
For example, using Maven:
@ -1438,12 +1438,12 @@ You also need to add `logging.file` to your `application.properties`:
[[howto-configure-log4j-for-logging]]
=== Configure Log4j for logging
Spring Boot supports http://logging.apache.org/log4j/2.x[Log4j 2] for logging
configuration if it is on the classpath. If you are using the starter poms for
configuration if it is on the classpath. If you are using the starters for
assembling dependencies that means you have to exclude Logback and then include log4j 2
instead. If you aren't using the starter poms then you need to provide `commons-logging`
instead. If you aren't using the starters then you need to provide `commons-logging`
(at least) in addition to Log4j 2.
The simplest path is probably through the starter poms, even though it requires some
The simplest path is probably through the starters, even though it requires some
jiggling with excludes, .e.g. in Maven:
[source,xml,indent=0,subs="verbatim,quotes,attributes"]

@ -19,7 +19,7 @@ unless you enable Spring MVC as well.>>
== Enabling production-ready features
The {github-code}/spring-boot-actuator[`spring-boot-actuator`] module provides all of
Spring Boot's production-ready features. The simplest way to enable the features is to add
a dependency to the `spring-boot-starter-actuator` '`Starter POM`'.
a dependency to the `spring-boot-starter-actuator` '`Starter`'.
.Definition of Actuator
****
@ -28,7 +28,7 @@ controlling something. Actuators can generate a large amount of motion from a sm
change.
****
To add the actuator to a Maven based project, add the following '`starter`'
To add the actuator to a Maven based project, add the following '`Starter`'
dependency:
[source,xml,indent=0]

@ -549,7 +549,7 @@ for specifying hierarchical configuration data. The `SpringApplication` class wi
automatically support YAML as an alternative to properties whenever you have the
http://www.snakeyaml.org/[SnakeYAML] library on your classpath.
NOTE: If you use '`starter POMs`' SnakeYAML will be automatically provided via
NOTE: If you use '`Starters`' SnakeYAML will be automatically provided via
`spring-boot-starter`.
@ -1038,7 +1038,7 @@ http://logging.apache.org/log4j/2.x/[Log4J2] and http://logback.qos.ch/[Logback]
case loggers are pre-configured to use console output with optional file output also
available.
By default, If you use the '`Starter POMs`', Logback will be used for logging. Appropriate
By default, If you use the '`Starters`', Logback will be used for logging. Appropriate
Logback routing is also included to ensure that dependent libraries that use
Java Util Logging, Commons Logging, Log4J or SLF4J will all work correctly.
@ -1961,7 +1961,7 @@ any of your JAX-RS resources are packaged as nested jars.
[[boot-features-embedded-container]]
=== Embedded servlet container support
Spring Boot includes support for embedded Tomcat, Jetty, and Undertow servers. Most
developers will simply use the appropriate '`Starter POM`' to obtain a fully configured
developers will simply use the appropriate '`Starter`' to obtain a fully configured
instance. By default the embedded server will listen for HTTP requests on port `8080`.
@ -2500,7 +2500,7 @@ Here's the algorithm for choosing a specific implementation:
* Lastly, if Commons DBCP2 is available we will use it.
If you use the `spring-boot-starter-jdbc` or `spring-boot-starter-data-jpa`
'`starter POMs`' you will automatically get a dependency to `tomcat-jdbc`.
'`starters`' you will automatically get a dependency to `tomcat-jdbc`.
NOTE: You can bypass that algorithm completely and specify the connection pool to use via
the `spring.datasource.type` property. This is especially important if you are running
@ -2922,7 +2922,7 @@ http://redis.io/[Redis] is a cache, message broker and richly-featured key-value
Spring Boot offers basic auto-configuration for the
https://github.com/xetorthio/jedis/[Jedis] client library and abstractions on top of it
provided by https://github.com/spring-projects/spring-data-redis[Spring Data Redis]. There
is a `spring-boot-starter-data-redis` '`Starter POM`' for collecting the dependencies in a
is a `spring-boot-starter-data-redis` '`Starter`' for collecting the dependencies in a
convenient way.
@ -2962,7 +2962,7 @@ pooled connection factory by default.
http://www.mongodb.com/[MongoDB] is an open-source NoSQL document database that uses a
JSON-like schema instead of traditional table-based relational data. Spring Boot offers
several conveniences for working with MongoDB, including the
`spring-boot-starter-data-mongodb` '`Starter POM`'.
`spring-boot-starter-data-mongodb` '`Starter`'.
@ -3118,7 +3118,7 @@ Mongo instance's configuration and logging routing.
http://neo4j.com/[Neo4j] is an open-source NoSQL graph database that uses a rich data
model of nodes related by first class relationships which is better suited for connected
big data than traditional rdbms approaches. Spring Boot offers several conveniences for
working with Neo4j, including the `spring-boot-starter-data-neo4j` '`Starter POM`'.
working with Neo4j, including the `spring-boot-starter-data-neo4j` '`Starter`'.
@ -3238,7 +3238,7 @@ documentation].
https://github.com/spring-projects/spring-data-gemfire[Spring Data Gemfire] provides
convenient Spring-friendly tools for accessing the
http://pivotal.io/big-data/pivotal-gemfire#details[Pivotal Gemfire] data management
platform. There is a `spring-boot-starter-data-gemfire` '`Starter POM`' for collecting the
platform. There is a `spring-boot-starter-data-gemfire` '`Starter`' for collecting the
dependencies in a convenient way. There is currently no auto-configuration support for
Gemfire, but you can enable Spring Data Repositories with a
https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java/org/springframework/data/gemfire/repository/config/EnableGemfireRepositories.java[single annotation (`@EnableGemfireRepositories`)].
@ -3250,7 +3250,7 @@ https://github.com/spring-projects/spring-data-gemfire/blob/master/src/main/java
http://lucene.apache.org/solr/[Apache Solr] is a search engine. Spring Boot offers basic
auto-configuration for the Solr 5 client library and abstractions on top of it provided by
https://github.com/spring-projects/spring-data-solr[Spring Data Solr]. There is
a `spring-boot-starter-data-solr` '`Starter POM`' for collecting the dependencies in a
a `spring-boot-starter-data-solr` '`Starter`' for collecting the dependencies in a
convenient way.
@ -3302,7 +3302,7 @@ http://www.elasticsearch.org/[Elasticsearch] is an open source, distributed,
real-time search and analytics engine. Spring Boot offers basic auto-configuration for
the Elasticsearch and abstractions on top of it provided by
https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch].
There is a `spring-boot-starter-data-elasticsearch` '`Starter POM`' for collecting the
There is a `spring-boot-starter-data-elasticsearch` '`Starter`' for collecting the
dependencies in a convenient way.
@ -3372,7 +3372,7 @@ http://cassandra.apache.org/[Cassandra] is an open source, distributed database
system designed to handle large amounts of data across many commodity servers. Spring Boot
offers auto-configuration for Cassandra and abstractions on top of it provided by
https://github.com/spring-projects/spring-data-cassandra[Spring Data Cassandra].
There is a `spring-boot-starter-data-cassandra` '`Starter POM`' for collecting the
There is a `spring-boot-starter-data-cassandra` '`Starter`' for collecting the
dependencies in a convenient way.
@ -3428,7 +3428,7 @@ http://www.couchbase.com/[Couchbase] is an open-source, distributed multi-model
document-oriented database that is optimized for interactive applications. Spring Boot
offers auto-configuration for Couchbase and abstractions on top of it provided by
https://github.com/spring-projects/spring-data-couchbase[Spring Data Couchbase].
There is a `spring-boot-starter-data-couchbase` '`Starter POM`' for collecting the
There is a `spring-boot-starter-data-couchbase` '`Starter`' for collecting the
dependencies in a convenient way.
@ -3554,7 +3554,7 @@ enabled via the `@EnableCaching` annotation.
NOTE: If you are using the cache infrastructure with beans that are not interface-based,
make sure to enable the `proxyTargetClass` attribute of `@EnableCaching`.
TIP: Use the `spring-boot-starter-cache` "`Starter POM`" to quickly add required caching
TIP: Use the `spring-boot-starter-cache` '`Starter`' to quickly add required caching
dependencies. If you are adding dependencies manually you should note that certain
implementations are only provided by the `spring-context-support` jar.
@ -4047,7 +4047,7 @@ The Advanced Message Queuing Protocol (AMQP) is a platform-neutral, wire-level p
for message-oriented middleware. The Spring AMQP project applies core Spring concepts to
the development of AMQP-based messaging solutions. Spring Boot offers several
conveniences for working with AMQP via RabbitMQ, including the
`spring-boot-starter-amqp` '`Starter POM`'.
`spring-boot-starter-amqp` '`Starter`'.
@ -4230,7 +4230,7 @@ disable the JTA auto-configuration.
[[boot-features-jta-atomikos]]
=== Using an Atomikos transaction manager
Atomikos is a popular open source transaction manager which can be embedded into your
Spring Boot application. You can use the `spring-boot-starter-jta-atomikos` Starter POM to
Spring Boot application. You can use the `spring-boot-starter-jta-atomikos` Starter to
pull in the appropriate Atomikos libraries. Spring Boot will auto-configure Atomikos and
ensure that appropriate `depends-on` settings are applied to your Spring beans for correct
startup and shutdown ordering.
@ -4254,7 +4254,7 @@ property with a different value for each instance of your application.
[[boot-features-jta-bitronix]]
=== Using a Bitronix transaction manager
Bitronix is popular open source JTA transaction manager implementation. You can
use the `spring-boot-starter-jta-bitronix` starter POM to add the appropriate Bitronix
use the `spring-boot-starter-jta-bitronix` starter to add the appropriate Bitronix
dependencies to your project. As with Atomikos, Spring Boot will automatically configure
Bitronix and post-process your beans to ensure that startup and shutdown ordering is
correct.
@ -4278,7 +4278,7 @@ property with a different value for each instance of your application.
[[boot-features-jta-narayana]]
=== Using a Narayana transaction manager
Narayana is popular open source JTA transaction manager implementation supported by JBoss.
You can use the `spring-boot-starter-jta-narayana` starter POM to add the appropriate
You can use the `spring-boot-starter-jta-narayana` starter to add the appropriate
Narayana dependencies to your project. As with Atomikos and Bitronix, Spring Boot will
automatically configure Narayana and post-process your beans to ensure that startup and
shutdown ordering is correct.
@ -4399,7 +4399,7 @@ caching is enabled.
[[boot-features-integration]]
== Spring Integration
Spring Boot offers several conveniences for working with Spring Integration, including
the `spring-boot-starter-integration` '`Starter POM`'. Spring Integration provides
the `spring-boot-starter-integration` '`Starter`'. Spring Integration provides
abstractions over messaging and also other transports such as HTTP, TCP etc. If Spring
Integration is available on your classpath it will be initialized through the
`@EnableIntegration` annotation. Message processing statistics will be published over JMX
@ -4458,7 +4458,7 @@ Spring Boot provides a number of utilities and annotations to help when testing
application. Test support is provided by two modules; `spring-boot-test` contains core
items, and `spring-boot-test-autoconfigure` supports auto-configuration for tests.
Most developers will just use the `spring-boot-starter-test` '`Starter POM`' which
Most developers will just use the `spring-boot-starter-test` '`Starter`' which
imports both Spring Boot test modules as well has JUnit, AssertJ, Hamcrest and a number
of other useful libraries.
@ -4467,7 +4467,7 @@ of other useful libraries.
[[boot-features-test-scope-dependencies]]
=== Test scope dependencies
If you use the
`spring-boot-starter-test` '`Starter POM`' (in the `test` `scope`), you will find
`spring-boot-starter-test` '`Starter`' (in the `test` `scope`), you will find
the following provided libraries:
* http://junit.org[JUnit] -- The de-facto standard for unit testing Java applications.
@ -4498,7 +4498,7 @@ needing to connect to other infrastructure.
The Spring Framework includes a dedicated test module for just such integration testing.
You can declare a dependency directly to `org.springframework:spring-test` or use the
`spring-boot-starter-test` '`Starter POM`' to pull it in transitively.
`spring-boot-starter-test` '`Starter`' to pull it in transitively.
If you have not used the `spring-test` module before you should start by reading the
{spring-reference}/#testing[relevant section] of the Spring Framework reference

@ -209,7 +209,7 @@ the parent.
[[using-boot-gradle]]
=== Gradle
Gradle users can directly import "`starter POMs`" in their `dependencies` section. Unlike
Gradle users can directly import '`starters`' in their `dependencies` section. Unlike
Maven, there is no "`super parent`" to import to share some configuration.
[source,groovy,indent=0,subs="attributes"]
@ -345,8 +345,9 @@ you don't want to use the `spring-boot-antlib` module.
[[using-boot-starter-poms]]
=== Starter POMs
Starter POMs are a set of convenient dependency descriptors that you can include in your
[[using-boot-starter]]
=== Starters
Starters are a set of convenient dependency descriptors that you can include in your
application. You get a one-stop-shop for all the Spring and related technology that you
need, without having to hunt through sample code and copy paste loads of dependency
descriptors. For example, if you want to get started using Spring and JPA for database
@ -389,7 +390,7 @@ or swap specific technical facets:
.Spring Boot technical starters
include::../../../target/generated-resources/technical-starters.adoc[]
TIP: For a list of additional community contributed starter POMs, see the
TIP: For a list of additional community contributed starters, see the
{github-master-code}/spring-boot-starters/README.adoc[README file] in the
`spring-boot-starters` module on GitHub.

@ -1,4 +1,4 @@
= Starter POMs
= Starters
Spring Boot Starters are a set of convenient dependency descriptors that you can include
in your application. You get a one-stop-shop for all the Spring and related technology

Loading…
Cancel
Save