SpringBootWeb 篇-深入了解 Bean 的管理与 SpringBoot 起步依赖、SpringBoot 自动配置原理(源码追踪:jar 包配置类如何加载到 IOC 容器中?)
SpringBootWeb 篇-深入理解 Bean 的管理与 SpringBoot 起步依赖、SpringBoot 自动配置。
在SpringBoot中,你可以通过@ComponentScan
、@Import
、@Bean
等注解来管理和配置Bean。
- 使用
@ComponentScan
扫描组件,SpringBoot会自动扫描指定包路径下的@Component,@Service,@Repository,@Controller等注解的类并注册为Bean。
@SpringBootApplication
@ComponentScan(basePackages = "com.example.service")
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
- 使用
@Import
导入配置类或者其他Bean。
@Configuration
@Import({DataSourceConfig.class, MyBean.class})
public class AppConfig {
}
- 使用
@Bean
定义一个Bean。
@Configuration
public class AppConfig {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
SpringBoot的起步依赖是指在项目的pom.xml或build.gradle中引入的依赖,这些依赖包含了SpringBoot应用运行所需的核心库。
<!-- 在pom.xml中添加SpringBoot起步依赖 -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
SpringBoot的自动配置是基于类路径下的类和@Conditional注解来进行条件化配置的机制。
例如,当项目中有DataSource
类型的Bean时,SpringBoot的JDBC自动配置才会生效。
@Configuration
@ConditionalOnClass(DataSource.class)
@EnableConfigurationProperties(DataSourceProperties.class)
public class DataSourceAutoConfiguration {
// ...
}
以上是SpringBoot中Bean管理和起步依赖、自动配置的简要介绍和使用示例。
评论已关闭