spring-: configuration-with-two-out-of-the-box-solutions
Spring Boot realizes that different projects have different configuration requirements, so two methods are provided:
- Manual configuration (
- ) - For items that need to be refined.
@SpringBootConfiguration
Automatic configuration ( ) - - For items that benefit from agreed by the agreed more configuration (that is, less manual settings).
@EnableAutoConfiguration
Choose depends on the specific needs of the project.
Use scene | Method | Cause |
---|---|---|
Need to completely control bean and configuration | > | Manually define all content (just like in the classic Spring project). |
Nepring boot automatic configuration commonly used components | > | Save time by automatically configure Bean based on dependencies. |
You need to use two methods at the same time | Both methods are used | The automatic configuration has been enabled, but the manual configuration will cover the default value. |
need to use specific configuration test Spring Boot applications | > | can be used to use a custom test configuration for unit testing. |
Need to disable or adjust automatic configuration | @Enclude = {DataSourceAutoConfiguration.class}) |
Disable specific automatic configurations as needed. |
Practical scene
1️⃣ Full manual configuration (traditional Spring)If your project needs to be completely controlled (for example, the system migration or highly customized system):
@SpringBootConfiguration public class MyAppConfig { @Bean public DataSource dataSource() { return new HikariDataSource(); // 手动配置数据库 } }
- <自动> No automatic configuration
- : You must manually define all beans. It is very useful when you want to avoid hidden behavior.
- 2️ 自动 Fully automatic configuration (Spring Boot defaults)
If you want to handle everything in Spring Boot, please use:
@SpringBootApplication // 包含 @EnableAutoConfiguration public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } }
- <<>
- Very suitable for fast development and microservices. 3️ 方法 Mixed method (automatic manual configuration)
- If you need to configure automatic configuration, but if you want to cover some parts, please perform the following operations:
<动> Manual Bean (
) Prefer to be automatically configured.@SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } @Configuration class ManualConfig { @Bean public DataSource dataSource() { return new HikariDataSource(); // 覆盖默认自动配置的 DataSource } }
- Most of the automatic configuration is very good, but when you need to customize the key part, it is very useful.
-
dataSource
Summary Yes, Spring Boot provides two solutions to solve the configuration problem. The best choice depends on the project's needs: - For rapid development
.
For completely controlling
, use- .
-
For a balanced method , let the automatic configuration process most things, but cover it if necessary. ?
@EnableAutoConfiguration
The above is the detailed content of spring-: configuration-with-two-out-of-the-box-solutions. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Field mapping processing in system docking often encounters a difficult problem when performing system docking: how to effectively map the interface fields of system A...

Start Spring using IntelliJIDEAUltimate version...

When using TKMyBatis for database queries, how to gracefully get entity class variable names to build query conditions is a common problem. This article will pin...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...
