Replace `@EnableBatchProcessing` in slice test examples
Using `@EnableBatchProcessing` is no longer necessary to enable Batch's auto-configuration so it's no longer a good example when discussing sliced tests and user configuration. This commit replaces `@EnableBatchProcessing` with an alternative annotation, `@EnableMongoAuditing` and updates the accompanying text. Closes gh-33435
This commit is contained in:
parent
35ee52275e
commit
f584d6dbd9
|
@ -855,15 +855,15 @@ If you <<using#using.structuring-your-code, structure your code>> in a sensible
|
|||
|
||||
It then becomes important not to litter the application's main class with configuration settings that are specific to a particular area of its functionality.
|
||||
|
||||
Assume that you are using Spring Batch and you rely on the auto-configuration for it.
|
||||
Assume that you are using Spring Data MongoDB, you rely on the auto-configuration for it, and you have enabled auditing.
|
||||
You could define your `@SpringBootApplication` as follows:
|
||||
|
||||
include::code:MyApplication[]
|
||||
|
||||
Because this class is the source configuration for the test, any slice test actually tries to start Spring Batch, which is definitely not what you want to do.
|
||||
Because this class is the source configuration for the test, any slice test actually tries to enable Mongo auditing, which is definitely not what you want to do.
|
||||
A recommended approach is to move that area-specific configuration to a separate `@Configuration` class at the same level as your application, as shown in the following example:
|
||||
|
||||
include::code:MyBatchConfiguration[]
|
||||
include::code:MyMongoConfiguration[]
|
||||
|
||||
NOTE: Depending on the complexity of your application, you may either have a single `@Configuration` class for your customizations or one class per domain area.
|
||||
The latter approach lets you enable it in one of your tests, if necessary, with the `@Import` annotation.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -16,11 +16,11 @@
|
|||
|
||||
package org.springframework.boot.docs.features.testing.springbootapplications.userconfigurationandslicing;
|
||||
|
||||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableBatchProcessing
|
||||
@EnableMongoAuditing
|
||||
public class MyApplication {
|
||||
|
||||
// ...
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -16,12 +16,12 @@
|
|||
|
||||
package org.springframework.boot.docs.features.testing.springbootapplications.userconfigurationandslicing;
|
||||
|
||||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableBatchProcessing
|
||||
public class MyBatchConfiguration {
|
||||
@EnableMongoAuditing
|
||||
public class MyMongoConfiguration {
|
||||
|
||||
// ...
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -16,11 +16,11 @@
|
|||
|
||||
package org.springframework.boot.docs.features.testing.springbootapplications.userconfigurationandslicing
|
||||
|
||||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication
|
||||
import org.springframework.data.mongodb.config.EnableMongoAuditing
|
||||
|
||||
@SpringBootApplication
|
||||
@EnableBatchProcessing
|
||||
@EnableMongoAuditing
|
||||
class MyApplication {
|
||||
|
||||
// ...
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -16,12 +16,12 @@
|
|||
|
||||
package org.springframework.boot.docs.features.testing.springbootapplications.userconfigurationandslicing
|
||||
|
||||
import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing
|
||||
import org.springframework.context.annotation.Configuration
|
||||
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableBatchProcessing
|
||||
class MyBatchConfiguration {
|
||||
@EnableMongoAuditing
|
||||
class MyMongoConfiguration {
|
||||
|
||||
// ...
|
||||
|
Loading…
Reference in New Issue