Spring-boot读书笔记一a Spring @Configuration class

Here's a simple example of a Spring @Configuration class:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

@Configuration
public class AppConfig {
    
    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }
    
    @Bean
    public DatabaseService databaseService() {
        return new DatabaseService("localhost", 5432);
    }
}

Key Elements

  • @Configuration: Marks the class as a source of bean definitions
  • @Bean: Methods annotated with @Bean return objects that Spring manages as beans
  • Bean Creation: Each @Bean method creates and configures a Spring-managed object

More Advanced Example

@Configuration
@EnableConfigurationProperties(AppProperties.class)
public class ServiceConfig {
    
    private final AppProperties appProperties;
    
    public ServiceConfig(AppProperties appProperties) {
        this.appProperties = appProperties;
    }
    
    @Bean
    public ApiClient apiClient() {
        return new ApiClient(appProperties.getIp(), appProperties.getPort());
    }
    
    @Bean
    @ConditionalOnProperty(name = "app.sbip.ct.security.enabled", havingValue = "true")
    public SecurityService securityService() {
        return new SecurityService(appProperties.getSecurity().getToken());
    }
}

This configuration class:

  • Injects your AppProperties
  • Creates beans based on configuration values
  • Uses conditional bean creation based on properties
  • Demonstrates how @Configuration classes work with @ConfigurationProperties
posted @ 2025-12-31 01:13  kkbln  阅读(1)  评论(0)    收藏  举报