To use only local configuration in your Spring Boot application and avoid fetching configuration from a Nacos server, you can adjust your application settings to disable Nacos configuration fetching. Here's how you can configure it:
1. Exclude Nacos Config in Dependencies
If you're using spring-cloud-starter-alibaba-nacos-config
, remove it from your pom.xml
or build.gradle
. This ensures the application doesn't fetch configurations from Nacos.
For example, in Maven:
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <scope>provided</scope> </dependency>
2. Disable Nacos Config Fetching
If you need to keep the dependency (e.g., for service discovery), explicitly disable the Nacos configuration fetching by setting the following properties in application.yml
or application.properties
:
spring: cloud: nacos: config: enabled: false
This configuration disables the Nacos configuration feature while allowing other Nacos functionalities like service discovery.
3. Use Only Local Configurations
Ensure your local configurations are defined in application.yml
or application.properties
. For example:
server: port: 8080 app: name: LocalConfigApp datasource: url: jdbc:mysql://localhost:3306/mydb username: root password: password
4. Explicitly Set Profile (Optional)
If your application has multiple environments, set the active profile explicitly to use local configurations:
spring: profiles: active: local
And create an environment-specific configuration file such as application-local.yml
:
app: environment: local
5. Verify at Startup
When you start your application, check the logs to ensure that it is not fetching any configuration from Nacos.
Look for:
- No attempts to connect to Nacos (
NacosPropertySource
logs). - Only local configuration being loaded.
6. (Optional) Remove Nacos Config Beans
If the above methods still cause Nacos config to interfere, you can explicitly exclude the related auto-configuration classes:
@SpringBootApplication(exclude = { NacosConfigBootstrapConfiguration.class }) public class LocalConfigApplication { public static void main(String[] args) { SpringApplication.run(LocalConfigApplication.class, args); } }