https://docs.spring.io/spring-boot/docs/
1.
If you need to find out what auto-configuration is currently being applied, and why, start your application with the --debug switch.
2.
To disable devtools, exclude the dependency or set the -Dspring.devtools.restart.enabled=false system property.
3.
With ApplicationStartup, Spring Framework allows you to track the application startup sequence with StartupSteps. This data can be collected for profiling purposes, or just to have a better understanding of an application startup process.
public static void main(String[] args) { SpringApplication app = new SpringApplication(MySpringConfiguration.class); app.setApplicationStartup(new BufferingApplicationStartup(2048)); app.run(args); }
4.
By default, SpringApplication converts any command line option arguments (that is, arguments starting with --, such as --server.port=9000) to a property and adds them to the Spring Environment. As mentioned previously, command line properties always take precedence over file based property sources.
If you do not want command line properties to be added to the Environment, you can disable them by using SpringApplication.setAddCommandLineProperties(false).
5.
Spring Boot does not provide any built in support for encrypting property values, however, it does provide the hook points necessary to modify values contained in the Spring Environment. The EnvironmentPostProcessor interface allows you to manipulate the Environment before the application starts. See Customize the Environment or ApplicationContext Before It Starts for details.
If you’re looking for a secure way to store credentials and passwords, the Spring Cloud Vault project provides support for storing externalized configuration in HashiCorp Vault.
6.
By default, if you use the “Starters”, Logback is used for logging.
7.
Spring MVC uses the HttpMessageConverter interface to convert HTTP requests and responses. Sensible defaults are included out of the box.
8.
By default, Spring Boot serves static content from a directory called /static (or /public or /resources or /META-INF/resources) in the classpath or from the root of the ServletContext. It uses the ResourceHttpRequestHandler from Spring MVC so that you can modify that behavior by adding your own WebMvcConfigurer and overriding the addResourceHandlers method.
9.
Spring Boot includes auto-configuration support for the following templating engines:
src/main/resources/templates.
| Shows application health information. |
| Displays HTTP trace information (by default, the last 100 HTTP request-response exchanges). Requires an |
| Displays arbitrary application info. |
| Shows the Spring Integration graph. Requires a dependency on |
| Shows and modifies the configuration of loggers in the application. |
shutdown are enabled. To configure the enablement of an endpoint, use its management.endpoint.<id>.enabled property. * can be used to select all endpoints. For example, to expose everything over HTTP except the env and beans endpoints, use the following properties:id of the endpoint with a prefix of /actuator as the URL path. For example, health is exposed as /actuator/health.HttpTraceRepository in your application’s configuration. For convenience, Spring Boot offers an InMemoryHttpTraceRepository that stores traces for the last 100 request-response exchanges, by default. InMemoryHttpTraceRepository is limited compared to other tracing solutions and we recommend using it only for development environments. For production environments, use of a production-ready tracing or observability solution, such as Zipkin or Spring Cloud Sleuth, is recommended. Alternatively, create your own HttpTraceRepository that meets your needs.<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>