spring boot(2)-@SpringBootApplication详解

STM32CubeMx + FatFs 实战:SD卡DMA传输中断回调问题深度解析 本文深度解析了在STM32CubeMx环境下,结合FatFs文件系统并使用DMA进行SD卡读写时,程序可能出现的“卡死”问题。核心原因在于HAL库的弱函数回调机制未被正确处理,导致DMA传输完成中断后,状态机锁死。文章提供了两种实战修复方案:直接修改HAL库文件或在用户代码中重写回调函数,并给出了关键的配置检查点与调试技巧,帮助开发者彻底解决SD卡DMA传输中断回调失效的难题。 阅读详情

@SpringBootApplication是spring boot最重要的一个注解,用于快捷配置启动类。

启动类

package hello;

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;

@SpringBootApplication
public class Run{
    public static void main(String[] args) throws Exception {
        SpringApplication.run(Run.class, args);
    }
}
这个Run.java是一个独立的spring boot启动类,这里不应该有业务功能,上一篇的hello world业务代码应该写在一个单独的@Controller里面,和上一篇相比,这里用@SpringBootApplication替换了@EnableAutoConfiguration。

@SpringBootApplication

@EnableAutoConfiguration:只是实现自动配置一个功能,具体参考上一篇。
@SpringBootApplication:是一个组合注解,包括@EnableAutoConfiguration及其他多个注解。
在eclipse的代码中 按 crtl+左键 点击@SpringBootApplication注解可以查看他的源码,如下
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
		@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication
前四个注解:是元注解,用来修饰当前注解,就像public类的修饰词,没有实际功能,如果不打算写自定义注解,不需要了解
后三个注解:是真正起作用的注解,包括
@SpringBootConfiguration:当前类是一个配置类,就像xml配置文件,而现在是用java配置文件,效果是一样的。下面会详解。
@EnableAutoConfiguration:上篇已经讲了
@ComponentScan:用注解配置实现自动扫描,默认会扫描当前包和所有子包,和xml配置自动扫描效果一样,@Filter是排除了两个系统类

@SpringBootConfiguration和@Bean

package hello;

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.Bean;

@SpringBootConfiguration
public class Config {
	@Bean
	public String hello(){
		return "Hello World";
	}
}

@SpringBootConfiguration:说明这是一个配置文件类,它会被@ComponentScan扫描到

@Bean:就是在spring配置文件中声明了一个bean,赋值为hello world,String方法类型就是bean的类型,hello方法名是bean的id

如果是用xml配置文件来声明bean,如下图

<bean id="hello" class="String"></bean>

SampleController.java

package hello;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller
public class SampleController {
	@Autowired
	String hello;
	
	@RequestMapping(value="/")
	@ResponseBody
    String test(){
      return hello;
    }

   
}

把上一篇的hello world业务功能独立出来,在这里注入了spring容器中的那个String类型的Bean,并且打印到页面

运行项目

现在的项目结构如下,共三个文件,启动类、配置类、业务类,结构更分明了。


通过Run.java的main方法启动项目,访问http://localhost:8080/



【智能车Code review】——拐点的寻找 CROSSROAD:十字拐点 ROUNDISLAND:环岛拐点 rightfindflag[i]:表示第i行的右线是否被找到,1为找到,0为没有找到 flag_find_huan_rightdown_point :找到环岛右下拐点标志 flag_find_huan_rightmiddle_point:找到环岛右中拐点标志 找拐点的思路:观察一段数据中数据点的走向趋势,并且保证这段数据是准确的。在摄像头畸变比较严重的情况下这种方法不再适用 关于函数的调用请见:https://blog.youkuaiyun.com/qq. 阅读详情

相关推荐

如何用Python+Librosa实现轴承异响检测?5步搞定工业设备故障预警

本文详细介绍了如何利用Python和Librosa库,通过5个步骤构建工业轴承异响检测与故障预警系统。从音频采集、预处理、频谱特征提取,到构建机器学习模型并进行实时监测,提供了完整的代码级解决方案。该方法能有效识别轴承早期故障特征,实现低成本、高效的设备预测性维护。

rnn9storyteller的博客 634

@SpringBootApplication详解(Spring Boot启动原理)

本文来说下Spring Boot 中的Starters 文章目录概述 概述 Starters 可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了。 Starters 包含了许多项目中需要用到的依赖,它们能快速持续的运行,都是一系列得到支持的管理传递性依赖。 ...

wh柒八九的博客 3万+

大模型训练中的AllReduce:从原理到实战,如何优化你的分布式训练效率

本文深入解析了大模型分布式训练的核心通信操作AllReduce,特别是高效的Ring All-Reduce算法原理。文章从实战角度出发,探讨了如何通过通信计算重叠、梯度累积策略、NCCL库调优以及混合并行通信优化等手段,有效降低通信开销,从而显著提升大模型训练效率。

julia4scientist的博客 526

【Java】深入解析 @SpringBootApplication 注解

首先,让我们单独聚焦注解。这个注解实际上是三个注解的组合,是Spring Boot项目的基石。

double222222的博客 1403

opencv-meshgrid

使用opencv::repeat函数和std::iota函数完成meshgrid功能。 X Y Z 通俗的说就是根据Z的大小生成X矩阵,Y矩阵

yuegooxi的博客 1608

保姆级教程:在mmdetection中手动计算并可视化P、R、F1值(附完整代码)

本文提供了一份详细的mmdetection教程,指导开发者如何手动计算并可视化精确率(P)、召回率(R)和F1值。通过完整的代码示例和清晰的步骤说明,帮助用户深入理解目标检测模型的性能评估方法,特别适合需要精细分析模型表现的计算机视觉研究人员和工程师。

weixin_29038303的博客 402

Java注解篇:@SpringBootApplication

在 Spring Boot 应用中,@SpringBootApplication 是最常见的注解之一。它通常出现在应用的入口类上,用于标识一个 Spring Boot 主程序类。该注解是多个注解的组合体,是 Spring Boot 自动配置的核心驱动力。

x² 1307

微软登录OAuth 2.0授权流程

OAuth 2.0是一个关于授权的开放网络标准,它允许第三方应用获取用户数据,是目前最流行的授权机制。微软身份平台支持OAuth 2.0授权码流程,使得客户端应用程序能够获得对受保护资源(如网络API)的授权访问。这一流程在保障用户数据安全的前提下,实现了应用的便捷登录与数据共享。当用户在一个支持OAuth 2.0的应用上,希望使用微软账号进行登录时,OAuth 2.0授权流程即被触发。

qq_36569837的博客 4093

@SpringBootApplication详解

在Spring Boot的学习中难免需要接触源码,而入手及时从Spring Boot项目启动类开始入手。项目启动类非常简单,仅仅存在一个注解@SpringBootApplication以及一个运行参数为被该注解标注类run函数。对于该启动类的分析,就从这个Spring Boot的核心注解开始入手。是一个组合注解,其中有也是一个组合注解,有,导入了类,实现了方法,经过层层调用最终读取一个配置文件(注意,前读取的是文件,2.7-3.0兼容两个,3.0之后只有.imports。

Ldealing的博客 4820

手把手学计科--web网页设计

网页的组成:文字、图像和超链接等元素。还可以包括哦音频、视频和动画。分类:静态(固定信息)和动态(与服务器数据库进行实时的数据交换。HTML和CSS 是一种静态网页搭建技术。

Yhvaely的博客 1752

WordPress插件depicter存在SQL注入漏洞(CVE-2025-2011)

Depicter 是一款功能强大的 WordPress 幻灯片插件,允许用户通过直观的拖放编辑器轻松创建响应式滑块、轮播和动态内容展示。该插件提供丰富的模板库、动画效果和图层控制,支持多媒体内容嵌入(如图片、视频、HTML),并优化了移动端显示和SEO性能。其无代码操作界面适合非技术用户,同时提供高级自定义选项,适用于产品展示、营销推广和视觉叙事等多种场景,是提升网站视觉吸引力的高效工具。

m0_50125527的博客 556

Spring Boot2 @SpringBootApplication 自动配置

Spring boot 非常容易使用,它可以做很多事情,你可能没有意识到。将来,一个优秀的开发人员将会知道Spring boot 自动配置(spring boot auto configuration)背后的具体内容,如何使用它对您有利,以及如何禁用您不希望进入项目的某些部分。 要了解spring boot背后的大多数基本知识,我们将创建一个具有单一依赖关系和单个启动类文件的最小启动应用程序。然后...

五石之瓠 以为大樽 浮于江湖 悠笑人生 2061

JAX/JAXlib GPU 加速版本安装教程(CUDA)

本文介绍了在Windows WSL2+Ubuntu22.04环境下配置JAX/JAXlib GPU加速版本的详细步骤。使用RTX 4060显卡,安装CUDA 12.4和cuDNN 8.9.7驱动,通过Miniconda创建Python 3.9虚拟环境。具体步骤包括:安装Miniconda、配置CUDA环境变量、安装cuDNN驱动、下载并安装JAX/JAXlib。最后通过测试代码验证GPU加速功能,成功检测到GPU并完成矩阵运算。整个过程配有详细命令和截图说明,适合需要搭建JAX GPU开发环境的用户参考。

猿小白的博客 629

spring boot简单教程(2)-@SpringBootApplication详解

spring boot简单教程(2)-@SpringBootApplication详解

赵树祥的博客 6852

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

@import注解_Spring Boot 2 实战:@SpringBootApplication注解浅析

本文转载自本人技术博客:felord.cn 转载请注明出处1. 前言Spring Boot 都会有一个名为 xxApplication 的启动类,里面有一个标准的 java 应用的入口 main 方法,用于启动 Spring Boot 应用项目。@SpringBootApplication 是Spring Boot的核心注解,作用在启动类上,在通常情况下Spring Boot在启动时会自动扫描 @...

weixin_42442651的博客 162

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Spring Boot 入门之路(2)--- @SpringBootApplication 注解详解

1前言 Spring Boot 项目都会自动生成一个启动类,可以运行启动类的 main 方法来启动一个 Spring Boot 项目。 @SpringBootApplication public class TestApplication { public static void main(String[] args) { SpringApplication.run(TestApplica...

Geffin的博客 366

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

科普文:Java web应用性能分析之【Spring Boot 2.6、2.7、3.0、3.2、3.4 @SpringBootApplication 启动过程对比】

‌2.X 系列‌:以传统 Servlet 模型为主,依赖运行时反射,适合兼容旧项目‌。‌3.X 系列‌:面向云原生,强制 Jakarta EE 和 AOT 优化,显著提升启动效率和资源利用率‌。‌推荐升级路径‌:优先迁移至 ‌‌(LTS 版本),充分利用虚拟线程和 AOT 特性构建高性能应用。‌版本‌‌初始化阶段‌‌上下文创建与刷新‌‌自动配置加载机制‌‌性能优化特性‌‌‌通过加载和‌基于创建传统 Servlet 上下文‌依赖的键值列表‌依赖 JIT 编译和运行时反射‌‌‌。

为无为,事无事,味无味。 1710

SpringBoot核心注解详解及3.0与2.0版本深度对比

SpringBoot核心注解是构建SpringBoot应用程序的基石,它们通过约定优于配置的原则,极大简化了Spring应用的初始搭建和开发过程。这些注解通过自动化配置和智能决策机制,消除了传统Spring应用中大量的XML配置,使开发者能够专注于业务逻辑的实现。云原生优先:全面拥抱Kubernetes、Serverless等云原生架构性能极致优化:通过AOT、GraalVM实现超快启动开发体验提升:更简洁的API设计,更智能的自动配置可观测性内置。

Hello World!你好世界! 4576

Spring Boot自动配置原理深度解析:揭开@SpringBootApplication的魔法面纱

Spring Boot的**"约定大于配置"理念极大简化了开发流程,其核心秘密在于自动配置(Auto-Configuration)​**机制。本文将深入剖析自动配置的实现原理,手把手教你自定义Starter,彻底掌握Spring Boot的"黑科技"。├── src/│ │ ├── SmsProperties.java # 配置属性类│ │ ├── SmsAutoConfiguration.java # 自动配置类│ │ └── SmsTemplate.java # 功能类。

u012762619的博客 1127

strtus2改成springboot_详解如何将已有项目改造为Spring Boot项目

快速创建一个springboot web工程以IntelliJ IDEA为例:1、首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图:2、填写项目信息,如下图:3、勾选web4、最后一步,填写工程名字点击finish第一次创建时系统会去下载需要的依赖,耗时稍长,请耐心等待。创建成功后,目录结构如下:项目的根目录下会有一个artifactId+Application...

weixin_39581896的博客 822

Spring Boot学习 基于2.2.4版本

import org.springframework.boot.*; import org.springframework.boot.autoconfigure.*; import org.springframework.web.bind.annotation.*; @RestController @EnableAutoConfiguration public class Example { ...

chenxu_blog的博客 486

IntelliJ IDEA实战:不用Spring Initializr也能玩转Spring Boot项目搭建

本文详细介绍了如何在IntelliJ IDEA中不依赖Spring Initializr,手动从零搭建Spring Boot项目。通过创建Maven配置、构建项目骨架、开发RESTful API并集成数据访问层,深入解析了Spring Boot的核心配置与构建逻辑,帮助开发者摆脱对工具的依赖,获得对项目架构的完全掌控。

info6的博客 203

Spring Boot源码解析

Spring Boot源码解析,围绕@SpringBootApplication注解和SpringApplication.run()方法进行阐述

专注于项目管理、Spring源码等分享 1177

Spring Boot 2 0 0 M3使用案例,案例配置,常用命令,注解介绍,热部署

Spring Boot 2 0 0 M3使用案例,案例配置,常用命令,注解介绍,热部署

qq_44884269的博客 428
上一篇: spring boot(1)-Hello World
下一篇: spring boot(3)-Rest接口
free_java
博客等级 码龄10年 664粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值