Spring Boot

news/2024/6/30 17:57:12

第一个SpringBoot应用

项目结构

  • 根package:com.zyj.learn

    • SpringBoot要求main()方法所在启动类放在根package下

    • Application
      @SpringBootApplication
      public class Application {public static void main(String[] args) throws Exception {SpringApplication.run(Application.class, args);}}

核心注解

@SpringBootApplication
  • 启动Spring Boot应用程序只需要对启动类加上一个注解@SpringBootApplication,相当于启动了自动配置和自动扫描

  • @SpringBootApplication包含:

  1. @SpringBootConfiguration

  2. @EnableAutoConfiguration

  3. @ComponentScan

启动依赖

spring-boot-starter-parent

可以简单理解为一个“模板”,它为创建Spring Boot应用程序提供了一些预设的规则和配置。当你的Spring Boot项目使用这个“模板”能得到以下好处:

自动管理依赖版本:自动管理Spring Boot相关依赖的正确版本。

预设的构建插件:提供了一些已经配置好的构建插件,比如编译Java代码的插件,运行测试的插件等。

确保Spring Boot特性正常工作:确保Spring Boot的自动配置、微服务等特性可以正常使用。

简化配置:很多常用的配置都已经为你设置好了,你不需要从头开始配置。

spring-boot-starter-web

这个启动器是用于创建基于Spring的Web应用程序的。它包含了构建RESTful web服务或传统的web应用程序所需的所有Spring Web库。

主要组件包括:

spring-web:提供Web应用程序的基础支持。

spring-webmvc:提供Spring MVC实现,用于构建RESTful web服务或模型-视图-控制器(MVC)应用程序。

其他相关库,如用于JSON处理的jackson-databind。

引入spring-boot-starter-web时,自动创建了:
ServletWebServerFactoryAutoConfiguration:自动创建一个嵌入式Web服务器,默认是Tomcat;
DispatcherServletAutoConfiguration:自动创建一个DispatcherServlet
HttpEncodingAutoConfiguration:自动创建一个CharacterEncodingFilter;
WebMvcAutoConfiguration:自动创建若干与MVC相关的Bean

spring-boot-starter-jdbc

这个启动器提供了构建使用JDBC(Java Database Connectivity)数据库操作的应用程序所需的依赖项。
主要组件包括:

spring-jdbc:提供JDBC抽象和Spring的JDBC支持。

spring-boot-starter:包含了自动配置、日志和YAML属性处理等Spring Boot核心功能。

spring-boot-starter-aop:提供面向切面编程(AOP)的支持,可用于声明式事务管理等。

引入spring-boot-starter-jdbc时,启动时会自动扫描所有的XxxAutoConfiguration
DataSourceAutoConfiguration:自动创建一个DataSource,其中配置项从application.yml的spring.datasource读取;
DataSourceTransactionManagerAutoConfiguration:自动创建了一个基于JDBC的事务管理器;
JdbcTemplateAutoConfiguration:自动创建了一个JdbcTemplate。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/48523.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

算法流程图

算法流程图 一. 有一个处理单价为2元饮料的自动售货机软件,该软件负责控制两个LED显示灯(红,绿)和控制饮料的送出。待机状态,显示红灯。若投入2元硬币,LED绿灯闪烁,之后按下“可乐”、“雪碧”或“红茶”按键,显示绿灯,相应的饮料就送出来。画出该过程的流程图 分析:…

Linux 中 根据SRA号获取下载链接

001、使用srapath命令[root@PC1 test2]# srapath SRR1482463 https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR1482463/SRR1482463 [root@PC1 test2]# srapath SRR1770413 https://sra-pub-run-odp.s3.amazonaws.com/sra/SRR1770413/SRR1770413 。

.Net Aspire初体验

Aspire今天参加了Post Microsoft Build & AI Day深圳的集会,众多大佬分享了非常优质前沿的技术和实践,实在受益良多,为了消化吸收关于张队分享的.Net Aspire的内容,特实操一遍小示例并记录如下: 1、以VS2022为例,先升级到最新的版本v17.10.3,新建.NET Aspire Starte…

万象革新,开启鸿蒙原生应用生态新篇章

摘要:星河璀璨,加入鸿蒙正当时。鸿蒙生态应用分发带来新流量、新服务、新能力,携手开发者实现技术生态和价值回报的双赢。 在当下,包括智能手机、平板电脑和穿戴设备在内的华为终端产品连接了亿万用户。这一市场覆盖优势使得自2019年鸿蒙系统首次发布以来,其生态用户基数便…

可能是全网最适合入门的面向对象编程教程:Python实现-嵌入式爱好者必看!

为了帮助初学者更好地理解和应用面向对象的设计方法,本文档更加深入地探讨其背后的原理和特点,并结合实际案例来展示其在实际开发中的应用价值。本文档主要介绍如何使用 Python 进行面向对象编程,需要读者对 Python 语法和单片机开发具有基本了解。相比其他讲解 Python 面向…

MySQL8-中文参考-三-

MySQL8 中文参考(三)原文:docs.oracle.com/javase/tutorial/reallybigindex.html2.8.7 MySQL 源配置选项原文:dev.mysql.com/doc/refman/8.0/en/source-configuration-options.htmlCMake程序提供了对如何配置 MySQL 源分发的大量控制。通常,您可以使用CMake命令行上的选项…

arkTS 如何解析MD格式?

arkTS 如何解析MD格式?1. 尝试1 interface Interface_1 {heading: RegExp;listItem: RegExp;paragraph: RegExp; }const markdownRules: Interface_1 = {heading: /^#\s+(.*)$/,listItem: /^\s*-\s+(.*)$/,paragraph: /^([^\n]+)$/, }// 解析 Markdown 文本 function parseMar…

MySQL8-中文参考-三十二-

MySQL8 中文参考(三十二)原文:docs.oracle.com/javase/tutorial/reallybigindex.html17.12.2 在线 DDL 性能和并发性译文:dev.mysql.com/doc/refman/8.0/en/innodb-online-ddl-performance.html在线 DDL 改进了 MySQL 操作的几个方面:访问表的应用程序更具响应性,因为在 …