首页 > 其他分享 >springboot自动配置

springboot自动配置

时间:2023-09-16 14:05:55浏览次数:36  
标签:springboot 自定义 Spring 配置 Boot Bean 自动 MyBean

Spring Boot的自动配置功能非常强大,可以大大简化应用程序的配置。下面是一个简单的Spring Boot自动配置的例子:

假设我们有一个名为@EnableMyAutoConfiguration的自定义自动配置类,其中包含一个名为@MyBean的自定义Bean:

@Configuration  
 
 @EnableMyAutoConfiguration  
 
 public class MyAppConfig {  
 
 }  
 
   
 
 @Configuration  
 
 @ConditionalOnClass(MyBean.class)  
 
 public class MyAutoConfiguration {  
 
    
 
     @Bean  
 
     @ConditionalOnMissingBean  
 
     public MyBean myBean() {  
 
         return new MyBean();  
 
     }  
 
 }

在这个例子中,我们首先定义了一个MyAppConfig类,并在上面添加了@EnableMyAutoConfiguration注解,表示启用自定义的自动配置类。

接着,我们定义了一个MyAutoConfiguration类,并在上面添加了@ConditionalOnClass注解,表示只有当MyBean类存在时才会创建该自动配置类。在该类中,我们定义了一个名为myBean的自定义Bean,并在上面添加了@ConditionalOnMissingBean注解,表示只有当该Bean不存在时才会创建。

现在,假设我们还有一个名为MyBean的类,该类没有任何注解:

public class MyBean {  
 
 }

如果我们运行应用程序并启动Spring Boot,Spring Boot会自动扫描MyAppConfig类,并启用MyAutoConfiguration类的自动配置功能。由于MyBean类存在,MyAutoConfiguration类中的myBean方法会被调用,并创建一个新的MyBean实例。如果我们没有在应用程序中手动创建该Bean,则Spring Boot会自动将该Bean注册到应用程序上下文中。


标签:springboot,自定义,Spring,配置,Boot,Bean,自动,MyBean
From: https://blog.51cto.com/u_16226111/7492873

相关文章

  • springboot vue uniapp 小说电子书阅读小程序APP源码
    开发环境及工具:大等于jdk1.8,大于mysql5.5,idea(eclipse),nodejs,vscode(webstorm),HBuilderX技术说明:springbootmybatisvueelementuiuniapp代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。功能介绍:用户端:登录注册首页显示搜索小说,轮播图,最新发布小说(可带推荐算......
  • Windows server 2022安装配置——网卡驱动配置
    Windows操作系统则更适合个人用户和家庭用户,提供了更轻量级的功能和用户体验,基本将所有功能都配置好了,用户几乎不需要作任何更改就能使用。但对Windowsserver而言,WindowsServer是专为服务器环境和企业级工作负载而设计,提供更高级的功能、安全性和管理选项。所以很多功能是用......
  • SpringBoot + Redis + Token 解决接口幂等性问题
    前言SpringBoot实现接口幂等性的方案有很多,其中最常用的一种就是token+redis方式来实现。下面我就通过一个案例代码,帮大家理解这种实现逻辑。原理前端获取服务端getToken()->前端发起请求->header中带上token->服务端校验前端传来的token和redis中的token是否......
  • springmvc中使用配置类进行配置,WebInit,WebConfig,SpringConfig
    2023-09-16导入的依赖<dependencies><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><de......
  • 搭建jenkins实现自动化部署
    一、安装jenkins1、添加yumrepos,然后安装12sudo wget-O /etc/yum.repos.d/jenkins.repohttps://pkg.jenkins.io/redhat/jenkins.reposudo rpm--import https://pkg.jenkins.io/redhat/jenkins.io.key注:如果上边的执行成功就不用再执行这......
  • springmvc中异常配置的两种方式,一种使用注解配置,一种使用控制器配置
    2023-09-16方式一springmvc.xml<!--配置异常处理器--><beanclass="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"><propertyname="exceptionMappings"><props>......
  • springmvc中配置拦截器
    2023-09-16springmvc.xml<!--配置拦截器--><mvc:interceptors><mvc:interceptor><!--配置需要拦截的请求的请求路径--><mvc:mappingpath="/**"/><!--配置需要排除拦截的请求的请求路径-->......
  • 华为云OBS配置-远程附件
    使用此服务前请先注册并绑定华为云官方合作伙伴账号,享受VIP服务和优惠价格(新购和续费都有专属折扣),更能领取大额代金券!  立即注册/已有账号绑定=>>! 如果不能绑定,请联系售前商务或工单联系售后处理!  创建华为云存储OBS步骤: 一、进入OBS控制台:https://storage.huawei......
  • 阿里云OSS配置-远程附件
    阿里云OSS配置-远程附件远程附件-阿里云OSS配置 12345服务器地址:Bucket名称:EndPoint:Access Key ID:Access Key Secret: 登录阿里云,进入控制台 左侧菜单产品与服务,搜索OSS,选择对象存储OSS 新建bucket  输入你的bucket名称,域名下......
  • 腾讯云COS配置-远程附件
    腾讯云COS配置-远程附件为方便使用腾讯云服务器的客户做附件分离,官方最新集成了腾讯云存储COS(https://cloud.tencent.com/product/cos),如需使用,请提前购买好资源包! 以下为开通和配置教程: 一、创建存储桶: 进入存储桶列表,点击创建存储桶: 输入必填项:注意:所属地域请选......