Home Java Mastering @PropertySource with YAML Files in Spring Boot: Advanced Configuration
Intermediate 5 min · July 14, 2026

Mastering @PropertySource with YAML Files in Spring Boot: Advanced Configuration

Learn how to use @PropertySource with YAML files in Spring Boot 3.2.

N
Naren Founder & Principal Engineer

20+ years shipping production Java in banking & fintech. Everything here is grounded in real deployments.

Follow
Production
production tested
July 15, 2026
last updated
2,398
articles · all by Naren
Before you start⏱ 15-20 min read
  • Java 17+ and Spring Boot 3.2+
  • Basic understanding of Spring Boot configuration (application.yml)
  • Familiarity with Maven or Gradle build tools
 ● Production Incident 🔎 Debug Guide ⚙ Triage Commands
Quick Answer

• @PropertySource natively supports .properties but not YAML files in Spring Boot 3.2. • Use a custom PropertySourceFactory (e.g., YamlPropertySourceFactory) to load YAML files. • Environment variables override YAML values; understand precedence to avoid production surprises. • For SaaS billing, externalize YAML config per tenant using profiles and @PropertySource. • Always validate YAML syntax with YAMLint before deployment to prevent silent failures.

✦ Definition~90s read
What is @PropertySource with YAML Files in Spring Boot?

@PropertySource is a Spring annotation that lets you load configuration files into the Environment, but by default it only supports .properties files, not YAML, requiring a custom PropertySourceFactory for YAML support.

Think of @PropertySource as a key-value map for your app.
Plain-English First

Think of @PropertySource as a key-value map for your app. YAML is like a nested folder structure (like a file cabinet with drawers and folders). Spring Boot's default @PropertySource only reads flat lists (like a single sheet of paper), not nested folders. To read YAML, you need a special adapter (YamlPropertySourceFactory) that understands how to flatten the folders into keys like 'database.host'. Without it, Spring ignores your YAML file entirely – like trying to open a cabinet with the wrong key.

In real-world Spring Boot applications, configuration is the backbone of reliability. I've seen production outages in payment-processing systems caused by misconfigured YAML files that @PropertySource silently ignored. The default @PropertySource annotation in Spring Boot 3.2 supports only .properties files – a fact that trips up even senior developers. When you try to load a YAML file with @PropertySource("classpath:config.yml"), Spring throws a silent warning and loads nothing. This article reveals how to properly load YAML with @PropertySource using a custom PropertySourceFactory, a pattern I've used in SaaS billing platforms handling millions of transactions daily. We'll cover the YamlPropertySourceFactory, precedence rules, profile-specific YAML, and production debugging. You'll learn why relying solely on application.yml can be a trap for multi-tenant systems, and how to externalize per-tenant config without classpath pollution. By the end, you'll configure Spring Boot like a battle-hardened architect.

Why @PropertySource Doesn't Support YAML Out-of-the-Box

In Spring Boot 3.2, the @PropertySource annotation is designed around Java's Properties class, which is a flat key-value structure. YAML is hierarchical and requires a parser to flatten keys like 'database.host' from nested structures. Spring Boot's default PropertySourceFactory implementations (DefaultPropertySourceFactory and ResourcePropertySource) only handle .properties files. When you point @PropertySource at a YAML file, Spring Boot logs a debug message like 'Could not parse YAML file: class path resource [config.yml]' and returns an empty source. This is a silent failure – your app starts, but configuration is missing. I've seen this cause null pointer exceptions in payment-processing services because a database URL was never loaded. The fix is to provide a custom factory that uses SnakeYAML (bundled with Spring Boot) to parse YAML and convert it to a Map-based PropertySource. Spring Boot itself uses YamlPropertySourceLoader internally for application.yml, but it's not wired to @PropertySource. That's the gap you need to bridge.

YamlPropertySourceFactory.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import org.springframework.beans.factory.config.YamlPropertiesFactoryBean;
import org.springframework.core.env.PropertiesPropertySource;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.io.support.PropertySourceFactory;

import java.io.IOException;
import java.util.Properties;

public class YamlPropertySourceFactory implements PropertySourceFactory {

    @Override
    public PropertySource<?> createPropertySource(String name, EncodedResource resource) throws IOException {
        YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
        yaml.setResources(resource.getResource());
        Properties properties = yaml.getObject();
        if (properties == null) {
            throw new IllegalStateException("Failed to parse YAML file: " + resource.getResource().getFilename());
        }
        String sourceName = (name != null) ? name : resource.getResource().getFilename();
        return new PropertiesPropertySource(sourceName, properties);
    }
}
Output
Compiles successfully. Use with @PropertySource(factory = YamlPropertySourceFactory.class)
⚠ Silent Failure Danger
📊 Production Insight
In a SaaS billing system, we added a startup check that logs all PropertySource names. If the expected YAML source is missing, the app fails fast.
🎯 Key Takeaway
Always specify the factory attribute when using @PropertySource with YAML files.

What the Official Docs Won't Tell You

The official Spring Boot documentation (v3.2) states that @PropertySource is for .properties files, but it doesn't explicitly warn that YAML fails silently. In production, I've seen teams waste hours debugging missing configs. Here's what the docs omit: First, the YamlPropertySourceFactory must return a PropertiesPropertySource, not a MapPropertySource, because Spring's Environment expects flat keys. Second, YAML lists (e.g., 'servers: [a, b]') become comma-separated strings, not arrays – you must parse them manually if you need a List. Third, profile-specific YAML documents (using '---' and 'spring.profiles') are not supported by this factory; it only loads the first document. For multi-profile YAML, use separate files per profile. Fourth, the factory does not support placeholder resolution (${...}) inside YAML values – that's handled by Spring later. Finally, if your YAML has duplicate keys, the last one wins, which can cause subtle bugs. In a payment-processing app, a duplicate 'api.timeout' key caused intermittent timeouts. The fix was to validate YAML with a linter in CI.

UsageExample.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@PropertySource(
    value = "classpath:payment-config.yml",
    factory = YamlPropertySourceFactory.class
)
public class PaymentConfig {
    // Now you can inject values with @Value
}
Output
Loads payment-config.yml into Environment. Access via @Value("${payment.gateway.url}")
🔥Profile Handling
📊 Production Insight
We wrote a custom factory that supports multi-document YAML by iterating over YamlPropertiesFactoryBean's multiple documents. It's 50 lines and saved us from splitting configs.
🎯 Key Takeaway
Understand that YamlPropertySourceFactory has limitations: no multi-document YAML, no list preservation, no placeholder resolution.

Setting Up YamlPropertySourceFactory Step by Step

To use @PropertySource with YAML, you need three things: a custom PropertySourceFactory, the YAML file, and the annotation. Start by adding SnakeYAML dependency (it's included by default in Spring Boot, but if you're using a non-Boot project, add 'org.yaml:snakeyaml:2.2'). Then create the factory class as shown earlier. Place your YAML file in 'src/main/resources' – for a SaaS billing app, we use 'tenant-config.yml' per tenant. Annotate a configuration class with @PropertySource, specifying the factory. Important: the file path must be resolvable at classpath. For external files, use 'file:/path/to/config.yml'. After startup, verify with 'env.getProperty("key")'. I recommend adding a @PostConstruct method that logs all loaded keys for debugging. In production, we also expose a custom actuator endpoint that lists all PropertySource names. This saved us when a config file was accidentally excluded from the JAR. Remember that @PropertySource is processed before @Value injection, so any @Value in the same class works fine.

TenantConfig.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.beans.factory.annotation.Value;
import jakarta.annotation.PostConstruct;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Configuration
@PropertySource(
    value = "classpath:tenant-config.yml",
    factory = YamlPropertySourceFactory.class
)
public class TenantConfig {

    private static final Logger log = LoggerFactory.getLogger(TenantConfig.class);

    @Value("${tenant.id}")
    private String tenantId;

    @PostConstruct
    public void init() {
        log.info("Loaded tenant config for: {}", tenantId);
    }
}
Output
Logs: 'Loaded tenant config for: acme-corp'
💡Debugging Tip
📊 Production Insight
In a multi-tenant system, we load tenant configs dynamically using a custom PropertySource that reads from a database, but @PropertySource with YAML is simpler for static configs.
🎯 Key Takeaway
The factory must return a PropertiesPropertySource. Verify with a PostConstruct or /actuator/env.

Property Precedence: Where Does @PropertySource Fit?

Spring Boot's property resolution order is critical. In Spring Boot 3.2, the precedence (highest to lowest) is: command-line arguments, JNDI attributes, System.getProperties(), OS environment variables, RandomValuePropertySource, application-{profile}.yml (outside JAR), application-{profile}.yml (inside JAR), application.yml (outside), application.yml (inside), @PropertySource on @Configuration classes, and finally default properties. @PropertySource files are loaded at step 9, meaning they override application.yml but are overridden by environment variables. This is a common source of bugs: if you set 'DATABASE_URL' as an environment variable, it overrides your YAML value even if you use @PropertySource. In a payment-processing system, a developer set 'payment.gateway.timeout' in a YAML file loaded via @PropertySource, but an ops team member had set an environment variable 'PAYMENT_GATEWAY_TIMEOUT' (Spring Boot converts dots to underscores). The YAML value was ignored, causing timeouts. The fix was to use a unique prefix for @PropertySource keys that doesn't conflict with env vars. Also note that @PropertySource files are loaded in the order they appear if you use multiple annotations. Always test with a simple @Value to confirm which source wins.

PrecedenceTest.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.beans.factory.annotation.Autowired;
import jakarta.annotation.PostConstruct;

@SpringBootApplication
@PropertySource(value = "classpath:override.yml", factory = YamlPropertySourceFactory.class)
public class PrecedenceTest {

    @Autowired
    private Environment env;

    @PostConstruct
    public void check() {
        System.out.println("Value from YAML: " + env.getProperty("my.key"));
        // Set env var MY_KEY=envvar before running to test precedence
    }

    public static void main(String[] args) {
        SpringApplication.run(PrecedenceTest.class, args);
    }
}
Output
If env var MY_KEY=overridden, prints 'Value from YAML: overridden'
💡Environment Variable Trap
📊 Production Insight
We added a startup log that prints the source of each key using Environment.getPropertySources(). This shows exactly which file won.
🎯 Key Takeaway
@PropertySource sits below environment variables but above application.yml. Know the order to debug config issues.

Using YAML Lists and Complex Structures with @PropertySource

YAML supports lists and maps, but @PropertySource with YamlPropertySourceFactory flattens them into dot-separated keys. For example, a list 'servers: [a, b]' becomes 'servers[0]=a' and 'servers[1]=b'. To inject a List, use @Value("${servers}") which returns a comma-separated string – you must split it manually or use a custom converter. Better: use @ConfigurationProperties with a dedicated class. In a real-time analytics system, we had a YAML config for Kafka brokers: 'kafka.brokers: [broker1:9092, broker2:9092]'. Using @ConfigurationProperties with a List<String> field works seamlessly. But @PropertySource doesn't support @ConfigurationProperties binding directly – you need to load the YAML into the Environment first, then use @ConfigurationProperties on a separate bean. The workaround is to create a @Bean that reads the flattened keys and populates a POJO. For maps, YAML 'database: {host: localhost, port: 5432}' becomes 'database.host' and 'database.port'. This works fine with @Value. For nested maps, keys like 'database.credentials.user' are created. In SaaS billing, we use this pattern for per-tenant feature flags: 'features: {enable_new_payment: true}'.

ListConfig.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.List;

@Configuration
public class ListConfig {

    @Bean
    @ConfigurationProperties(prefix = "kafka")
    public KafkaProperties kafkaProperties() {
        return new KafkaProperties();
    }

    public static class KafkaProperties {
        private List<String> brokers;

        public List<String> getBrokers() { return brokers; }
        public void setBrokers(List<String> brokers) { this.brokers = brokers; }
    }
}
Output
Binds 'kafka.brokers' from YAML to a List<String>. Works with @PropertySource-loaded YAML.
🔥ConfigurationProperties vs @Value
📊 Production Insight
In a real-time analytics pipeline, we used @ConfigurationProperties with @Validated to ensure list sizes are within bounds, preventing misconfigurations.
🎯 Key Takeaway
Lists become indexed keys with @PropertySource. Use @ConfigurationProperties for clean binding.

Profile-Specific YAML with @PropertySource

Spring Boot's application-{profile}.yml is the idiomatic way for profile-specific config, but sometimes you need to load a different YAML file per profile via @PropertySource. For example, in a SaaS billing system, we have 'payment-config-dev.yml' and 'payment-config-prod.yml'. You can use Spring's @Profile annotation on the configuration class: @Profile("dev") @PropertySource("classpath:payment-config-dev.yml"). But this loads the file only when the 'dev' profile is active. If you need to load multiple files conditionally, use a @ConditionalOnProperty or @ConditionalOnExpression. A more flexible approach is to use a placeholder in the file path: @PropertySource("classpath:payment-config-${spring.profiles.active}.yml"). However, this fails if no profile is set (spring.profiles.active is empty). Always provide a default: @PropertySource("classpath:payment-config-${spring.profiles.active:default}.yml"). I recommend this pattern for multi-tenant systems where each tenant has a profile. In production, we also load a common base YAML file and then a tenant-specific override. The factory handles the flatting, so keys from both files merge correctly. Remember that @PropertySource files are processed in order, so the last one wins for duplicate keys.

ProfileSpecificConfig.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.context.annotation.PropertySource;

@Configuration
@Profile("prod")
@PropertySource(
    value = "classpath:payment-config-prod.yml",
    factory = YamlPropertySourceFactory.class
)
public class ProdPaymentConfig {
    // Only loaded when spring.profiles.active=prod
}
Output
Loads payment-config-prod.yml in production profile.
⚠ Missing Profile Fallback
📊 Production Insight
We used a custom PropertySourceFactory that reads 'spring.profiles.active' from the Environment and loads the corresponding file, reducing boilerplate.
🎯 Key Takeaway
Use @Profile or placeholders to load different YAML files per environment.

Testing @PropertySource with YAML Files

Testing configuration loading is often overlooked. In Spring Boot 3.2, you can test @PropertySource with @SpringBootTest and @TestPropertySource, but the latter only supports .properties. For YAML, load the file manually in your test. I recommend a dedicated test that creates an ApplicationContext with your configuration class and asserts that properties are loaded. Use SpringExtension (JUnit 5) and @ContextConfiguration. For example, load a test YAML file 'test-config.yml' and verify keys. Also test the factory itself: create an instance of YamlPropertySourceFactory, call createPropertySource with a test resource, and assert the resulting PropertySource contains expected keys. This catches parsing errors early. In a payment-processing system, we had a YAML file with a tab character instead of spaces, causing a parsing exception. The factory test caught it. For integration tests, use @SpringBootTest with properties 'spring.config.location=classpath:/test-config.yml' to override the default. But be careful: this replaces all default config, so you may need to include the original application.yml as well. A better approach: use @TestPropertySource with a .properties file for test-specific overrides, and keep YAML for main config.

YamlPropertySourceFactoryTest.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import org.junit.jupiter.api.Test;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.core.env.PropertySource;

import static org.junit.jupiter.api.Assertions.*;

public class YamlPropertySourceFactoryTest {

    @Test
    void testYamlParsing() throws Exception {
        YamlPropertySourceFactory factory = new YamlPropertySourceFactory();
        EncodedResource resource = new EncodedResource(new ClassPathResource("test-config.yml"));
        PropertySource<?> source = factory.createPropertySource("test", resource);

        assertEquals("value1", source.getProperty("key1"));
        assertNotNull(source.getProperty("nested.key2"));
    }
}
Output
Test passes if test-config.yml contains 'key1: value1' and 'nested: {key2: value2}'
💡Test the Factory, Not Just the Config
📊 Production Insight
We added a CI step that runs a simple Java program to validate all YAML config files using the factory, preventing broken deployments.
🎯 Key Takeaway
Test YAML loading in isolation with a unit test for the factory and an integration test for the context.

Production Debugging and Monitoring

When @PropertySource with YAML fails in production, symptoms are subtle: services start but behave incorrectly. In a real-time analytics system, a missing YAML file caused all metrics to be sent to a wrong Kafka topic. The debugging process: check /actuator/env to see if the property source is listed. If not, the file wasn't loaded. Enable debug logging for 'org.springframework.core.env' to see which files are processed. Use 'env.containsProperty("key")' in a custom endpoint. Also check file paths: 'classpath:' resolves to the root of the classpath. If your YAML is in a subdirectory, e.g., 'config/', use @PropertySource("classpath:config/file.yml"). For external files, use 'file:/etc/app/config.yml' and ensure the path is absolute. Another common issue: the YAML file is present but has syntax errors. Spring Boot's YamlPropertySourceFactory throws an exception if parsing fails, which crashes the context. In production, we wrapped the factory with a try-catch that logs the error and provides a fallback. Finally, monitor configuration changes: if you reload YAML at runtime (e.g., using Spring Cloud Config), ensure the new values propagate. Use @RefreshScope on beans that depend on @Value. In a SaaS billing system, we had a custom HealthIndicator that checks if critical config keys are present, alerting if missing.

ConfigHealthIndicator.javaJAVA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

@Component
public class ConfigHealthIndicator implements HealthIndicator {

    private final Environment env;

    public ConfigHealthIndicator(Environment env) {
        this.env = env;
    }

    @Override
    public Health health() {
        String dbUrl = env.getProperty("database.url");
        if (dbUrl == null) {
            return Health.down().withDetail("error", "database.url not loaded from YAML").build();
        }
        return Health.up().build();
    }
}
Output
Health endpoint returns DOWN if 'database.url' is missing.
💡Runtime Reload
📊 Production Insight
We set up Prometheus alerts on a custom metric 'config.keys.loaded' to detect missing configs within minutes.
🎯 Key Takeaway
Use /actuator/env and custom health checks to monitor YAML configuration loading in production.
● Production incidentPOST-MORTEMseverity: high

Silent YAML Failure in Payment Gateway

Symptom
Payment gateway timeouts and 500 errors in production. Logs showed no config loading errors.
Assumption
The team assumed @PropertySource worked with YAML like application.yml does.
Root cause
@PropertySource does not support YAML by default. The YAML file was loaded as a plain properties source, yielding zero keys.
Fix
Implemented a custom YamlPropertySourceFactory and used @PropertySource(factory = YamlPropertySourceFactory.class).
Key lesson
  • Never assume annotation behavior – read the docs for your Spring Boot version.
  • Always validate that your configuration keys are actually loaded using /actuator/env.
  • Use YAMLint in CI/CD pipelines to catch syntax errors early.
Production debug guideStep-by-step guide for production engineers3 entries
Symptom · 01
Service starts but config values are null
Fix
Check /actuator/env for the property. If missing, verify the YAML file path and factory attribute.
Symptom · 02
Exception during startup: 'Could not parse YAML'
Fix
Validate YAML syntax using YAMLint. Check for tabs instead of spaces, or missing colons.
Symptom · 03
Values differ from YAML file
Fix
Check environment variables that may override. Use 'env.getPropertySources()' to see the source order.
★ Quick Debug Cheat Sheet: @PropertySource YAMLFive commands to diagnose YAML loading issues
Config not loaded
Immediate action
Check actuator/env
Commands
curl localhost:8080/actuator/env | grep 'propertySources'
Check logs for 'DEBUG o.s.c.e.PropertySourcesPropertyResolver'
Fix now
Add factory = YamlPropertySourceFactory.class to @PropertySource
YAML parse error+
Immediate action
Run YAMLint
Commands
yamllint src/main/resources/config.yml
Check for tab characters: cat -A config.yml
Fix now
Replace tabs with spaces, fix indentation
Env var overriding YAML+
Immediate action
List env vars
Commands
env | grep -i 'my_prefix'
Check Spring's relaxed binding: System.out.println(env.getProperty("my.key"))
Fix now
Rename YAML keys to use unique prefix like 'app.tenant.'
Feature@PropertySource with .properties@PropertySource with YAML (custom factory)
Native supportYesNo, requires factory
List handlingNot applicable (no lists)Flattened to indexed keys
Multi-document supportNot applicableNo, first document only
Placeholder resolutionYesNo, handled later by Spring
Profile supportVia file namingVia @Profile or placeholders
⚙ Quick Reference
8 commands from this guide
FileCommand / CodePurpose
YamlPropertySourceFactory.javapublic class YamlPropertySourceFactory implements PropertySourceFactory {Why @PropertySource Doesn't Support YAML Out-of-the-Box
UsageExample.java@ConfigurationWhat the Official Docs Won't Tell You
TenantConfig.java@ConfigurationSetting Up YamlPropertySourceFactory Step by Step
PrecedenceTest.java@SpringBootApplicationProperty Precedence
ListConfig.java@ConfigurationUsing YAML Lists and Complex Structures with @PropertySource
ProfileSpecificConfig.java@ConfigurationProfile-Specific YAML with @PropertySource
YamlPropertySourceFactoryTest.javapublic class YamlPropertySourceFactoryTest {Testing @PropertySource with YAML Files
ConfigHealthIndicator.java@ComponentProduction Debugging and Monitoring

Key takeaways

1
@PropertySource requires a custom PropertySourceFactory for YAML files in Spring Boot 3.2.
2
YamlPropertySourceFactory flattens YAML into flat properties; use @ConfigurationProperties for complex structures.
3
Always verify YAML loading with /actuator/env or a startup log to catch silent failures.
4
Property precedence
environment variables override @PropertySource, which overrides application.yml.
INTERVIEW PREP · PRACTICE MODE

Interview Questions on This Topic

Q01SENIOR
Explain why @PropertySource doesn't support YAML files by default in Spr...
Q02SENIOR
How would you implement a PropertySourceFactory that supports multi-docu...
Q03SENIOR
What is the property precedence order in Spring Boot, and where does @Pr...
Q01 of 03SENIOR

Explain why @PropertySource doesn't support YAML files by default in Spring Boot.

ANSWER
Because @PropertySource is designed around Java's Properties class, which is flat key-value. YAML is hierarchical and requires a parser like SnakeYAML. Spring Boot's default factory only handles .properties files. You need a custom PropertySourceFactory that uses YamlPropertiesFactoryBean to flatten YAML into properties.
FAQ · 4 QUESTIONS

Frequently Asked Questions

01
Can I use @PropertySource with YAML files without a custom factory?
02
Does YamlPropertySourceFactory support multi-document YAML files?
03
How do I inject YAML lists using @PropertySource?
04
Can I use @PropertySource with external YAML files outside the classpath?
N
Naren Founder & Principal Engineer

20+ years shipping production Java in banking & fintech. Everything here is grounded in real deployments.

Follow
Verified
production tested
July 15, 2026
last updated
2,398
articles · all by Naren
🔥

That's Spring Boot. Mark it forged?

5 min read · try the examples if you haven't

Previous
Environment Variables in Spring Boot Properties: Externalized Configuration
58 / 121 · Spring Boot
Next
Spring Boot Filters: Servlet Filters, OncePerRequestFilter, and FilterRegistrationBean