Polish documentation
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
[[features.developing-auto-configuration]]
|
||||
== Creating Your Own Auto-configuration
|
||||
If you work in a company that develops shared libraries, or if you work on an open-source or commercial library, you might want to develop your own auto-configuration.
|
||||
Auto-configuration classes can be bundled in external jars and still be picked-up by Spring Boot.
|
||||
Auto-configuration classes can be bundled in external jars and still be picked up by Spring Boot.
|
||||
|
||||
Auto-configuration can be associated to a "`starter`" that provides the auto-configuration code as well as the typical libraries that you would use with it.
|
||||
We first cover what you need to know to build your own auto-configuration and then we move on to the <<features#features.developing-auto-configuration.custom-starter,typical steps required to create a custom starter>>.
|
||||
@@ -37,7 +37,7 @@ TIP: You can add comments to the imports file using the `#` character.
|
||||
NOTE: Auto-configurations must be loaded _only_ by being named in the imports file.
|
||||
Make sure that they are defined in a specific package space and that they are never the target of component scanning.
|
||||
Furthermore, auto-configuration classes should not enable component scanning to find additional components.
|
||||
Specific ``@Import``s should be used instead.
|
||||
Specific `@Import` annotations should be used instead.
|
||||
|
||||
If your configuration needs to be applied in a specific order, you can use the `before`, `beforeName`, `after` and `afterName` attributes on the {spring-boot-autoconfigure-module-code}/AutoConfiguration.java[`@AutoConfiguration`] annotation or the dedicated {spring-boot-autoconfigure-module-code}/AutoConfigureBefore.java[`@AutoConfigureBefore`] and {spring-boot-autoconfigure-module-code}/AutoConfigureAfter.java[`@AutoConfigureAfter`] annotations.
|
||||
For example, if you provide web-specific configuration, your class may need to be applied after `WebMvcAutoConfiguration`.
|
||||
@@ -207,7 +207,7 @@ If "acme" has several flavors, options or optional features, then it is better t
|
||||
Besides, you have the ability to craft a starter that provides an opinion about those optional dependencies.
|
||||
At the same time, others can rely only on the `autoconfigure` module and craft their own starter with different opinions.
|
||||
|
||||
If the auto-configuration is relatively straightforward and does not have optional feature, merging the two modules in the starter is definitely an option.
|
||||
If the auto-configuration is relatively straightforward and does not have optional features, merging the two modules in the starter is definitely an option.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -542,7 +542,7 @@ Log4j2 supports a number of https://logging.apache.org/log4j/2.x/manual/configur
|
||||
For example, the `log4j2.skipJansi` system property can be used to configure if the `ConsoleAppender` will try to use a https://github.com/fusesource/jansi[Jansi] output stream on Windows.
|
||||
|
||||
All system properties that are loaded after the Log4j2 initialization can be obtained from the Spring `Environment`.
|
||||
For example, you could add `log4j2.skipJansi=false` to your `application.properties` file to have the `ConsoleAppender` use a Jansi on Windows.
|
||||
For example, you could add `log4j2.skipJansi=false` to your `application.properties` file to have the `ConsoleAppender` use Jansi on Windows.
|
||||
|
||||
NOTE: The Spring `Environment` is only considered when system properties and OS environment variables do not contain the value being loaded.
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ The `spring.profiles.include` property can be used to add active profiles on top
|
||||
The `SpringApplication` entry point also has a Java API for setting additional profiles.
|
||||
See the `setAdditionalProfiles()` method in {spring-boot-module-api}/SpringApplication.html[SpringApplication].
|
||||
|
||||
For example, when an application with the following properties is run, the common and local profiles will be activated even when it runs using the --spring.profiles.active switch:
|
||||
For example, when an application with the following properties is run, the common and local profiles will be activated even when it runs using the `--spring.profiles.active` switch:
|
||||
|
||||
[source,yaml,indent=0,subs="verbatim",configprops,configblocks]
|
||||
----
|
||||
|
||||
@@ -547,7 +547,7 @@ You can use the `@DataJpaTest` annotation to test JPA applications.
|
||||
By default, it scans for `@Entity` classes and configures Spring Data JPA repositories.
|
||||
If an embedded database is available on the classpath, it configures one as well.
|
||||
SQL queries are logged by default by setting the `spring.jpa.show-sql` property to `true`.
|
||||
This can be disabled using the `showSql()` attribute of the annotation.
|
||||
This can be disabled using the `showSql` attribute of the annotation.
|
||||
|
||||
Regular `@Component` and `@ConfigurationProperties` beans are not scanned when the `@DataJpaTest` annotation is used.
|
||||
`@EnableConfigurationProperties` can be used to include `@ConfigurationProperties` beans.
|
||||
@@ -933,7 +933,7 @@ include::code:MyEnvironmentTests[]
|
||||
[[features.testing.utilities.output-capture]]
|
||||
==== OutputCapture
|
||||
`OutputCapture` is a JUnit `Extension` that you can use to capture `System.out` and `System.err` output.
|
||||
To use add `@ExtendWith(OutputCaptureExtension.class)` and inject `CapturedOutput` as an argument to your test class constructor or test method as follows:
|
||||
To use it, add `@ExtendWith(OutputCaptureExtension.class)` and inject `CapturedOutput` as an argument to your test class constructor or test method as follows:
|
||||
|
||||
include::code:MyOutputCaptureTests[]
|
||||
|
||||
@@ -950,7 +950,7 @@ Instead, such errors can be detected through the returned `ResponseEntity` and i
|
||||
TIP: Spring Framework 5.0 provides a new `WebTestClient` that works for <<features#features.testing.spring-boot-applications.spring-webflux-tests, WebFlux integration tests>> and both <<features#features.testing.spring-boot-applications.with-running-server, WebFlux and MVC end-to-end testing>>.
|
||||
It provides a fluent API for assertions, unlike `TestRestTemplate`.
|
||||
|
||||
It is recommended, but not mandatory, to use the Apache HTTP Client (version 4.3.2 or better).
|
||||
It is recommended, but not mandatory, to use the Apache HTTP Client (version 5.1 or better).
|
||||
If you have that on your classpath, the `TestRestTemplate` responds by configuring the client appropriately.
|
||||
If you do use Apache's HTTP client, some additional test-friendly features are enabled:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user