当前位置: 首页 > news >正文

@SpringBootApplication

@SpringBootApplication拓展

一. @SpringBootConfiguration注解

是SpringBoot的注解, 标识一个类为配置类, 与@Configration功能一致
run方法初始化了@SpringBootConfiguration注解
注解源码

@Target(ElementType.TYPE)//类型
@Retention(RetentionPolicy.RUNTIME)//生命周期
@Documented
@Configuration
public @interface SpringBootConfiguration {
   @AliasFor(annotation = Configuration.class)
   boolean proxyBeanMethods() default true;
}

指定代理@bean
代码

@SpringBootConfiguration
public class MyConfig {
 
    @Bean
    public MyBean getMyBean() {
        return new MyBean("Hello! Spring Boot");
    }
}

@Configration

是spring的注解, 用于标记一个类为配置类,表示该类包含Bean的定义。
代码

@Configuration
public class MyConfig {
    @Bean
    public MyBean mybean(){
        return new MyBean (1,"mybean");
    }
}

二. @ComponentScan

@ComponentScan告诉Spring 哪个packages 的用注解标识的类 会被spring自动扫描并且装入bean容器。
代码

@Configuration
@ComponentScan(value = "com.bite.principle.config")
public class MyConfig {
    @Bean
    public MyBean mybean(){
        return new mybean("mybean",1);
    }

三. @EnableAutoConfigration

根据项目依赖和配置,自动配置 Spring Boot 应用程序中的 Bean。

@AutoConfigurationPackage

添加该注解的类所在的package 作为 自动配置package 进行管理。

注解源码

@Target({ElementType.TYPE})

@Retention(RetentionPolicy.RUNTIME)

@Documented

@Inherited

@Import({Registrar.class}) // 导入Registrar中注册的组件

public @interface AutoConfigurationPackage {

}

从上述源码可以看出,@AutoConfigurationPackage注解的功能是由 @Import 注解实现的,它是spring框架的底层注解,它的作用就是给容器中导入某个组件类.

@Import

@Import通过快速导入的方式实现把实例加入spring的IOC容器中
@Import注解可以用于导入第三方包 ,当然@Bean注解也可以,但是@Import注解快速导入的方式更加便捷

@Import(importDemo.class)
public class TestDemo {

}

相关文章:

  • 9.贪心算法
  • 每日一题---单词搜索(深搜)
  • 本地化部署Deepseek关于Ollama 安全加固方案(新手易学)
  • 基于SpringBoot实现旅游酒店平台功能十六
  • element 的tab怎么动态根据参数值添加一个vue页面
  • UE4-UE5虚幻引擎,前置学习一--Console日志输出经常崩溃,有什么好的解决办法
  • C#的简单工厂模式、工厂方法模式、抽象工厂模式
  • C语言中关于数组和指针的重点知识
  • Hive SQL 精进系列:PERCENTILE_APPROX 搞定分位数
  • Android Dagger2 框架辅助工具模块深度剖析(六)
  • 运维工具推荐 -- 宝塔面板:一键部署服务器
  • Blender-MCP服务源码5-BlenderSocket插件安装
  • SOME/IP:用Python实现协议订阅、Offer、订阅ACK与报文接收
  • 《Python实战进阶》No24: PyAutoGUI 实现桌面自动化
  • 玩转ChatGPT:Claude 3.7 Sonnet进行数据分析(ARIMA)
  • 深度学习/机器学习毕业设计选题清单:热点课题与方向
  • Python之if语句
  • Freertos--把队列加入队列集
  • JumpServer基础功能介绍演示
  • Flexus应用服务器L实例、X实例以及ECS(弹性计算服务)之间的区别及其适用场景
  • 《探秘海昏侯国》数字沉浸特展亮相首届江西文化旅游产业博览交易会
  • 澎湃回声丨23岁小伙“被精神病8年”续:今日将被移出“重精”管理系统
  • 神舟十九号载人飞行任务取得圆满成功
  • 俄伏尔加格勒机场正式更名为斯大林格勒机场
  • 游客曝九寨沟打网约车被出租车围堵,官方:前者违规,后者做法不对
  • 西夏文残碑等文物来沪,见证一段神秘灿烂的历史