SpringBootWeb 篇-深入了解 Bean 的管理与 SpringBoot 起步依赖、SpringBoot 自动配置原理(源码追踪:jar 包配置类如何加载到 IOC 容器中?)
    		       		warning:
    		            这篇文章距离上次修改已过431天,其中的内容可能已经有所变动。
    		        
        		                
                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管理和起步依赖、自动配置的简要介绍和使用示例。
评论已关闭