Merge branch '3.1.x'
This commit is contained in:
commit
68aec97ee7
|
@ -861,15 +861,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.
|
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:
|
You could define your `@SpringBootApplication` as follows:
|
||||||
|
|
||||||
include::code:MyApplication[]
|
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:
|
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.
|
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.
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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;
|
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.boot.autoconfigure.SpringBootApplication;
|
||||||
|
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableBatchProcessing
|
@EnableMongoAuditing
|
||||||
public class MyApplication {
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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;
|
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.context.annotation.Configuration;
|
||||||
|
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@EnableBatchProcessing
|
@EnableMongoAuditing
|
||||||
public class MyBatchConfiguration {
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
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.boot.autoconfigure.SpringBootApplication
|
||||||
|
import org.springframework.data.mongodb.config.EnableMongoAuditing
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableBatchProcessing
|
@EnableMongoAuditing
|
||||||
class MyApplication {
|
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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with 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
|
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.context.annotation.Configuration
|
||||||
|
import org.springframework.data.mongodb.config.EnableMongoAuditing;
|
||||||
|
|
||||||
@Configuration(proxyBeanMethods = false)
|
@Configuration(proxyBeanMethods = false)
|
||||||
@EnableBatchProcessing
|
@EnableMongoAuditing
|
||||||
class MyBatchConfiguration {
|
class MyMongoConfiguration {
|
||||||
|
|
||||||
// ...
|
// ...
|
||||||
|
|
Loading…
Reference in New Issue