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

浙公网安备 33010602011771号