springboot入门

news2024/11/18 4:35:40

目录

1. 简介

2. 开发示例

2.1 创建springboot工程

3. 启动类

4. 常用注解

5. springboot配置文件

6. 开发一个controller


1. 简介


Spring Boot它本身并不提供Spring框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于Spring框架的应用程序。

同时它集成了大量常用的第三方库配置(例如Jackson, JDBC, Mongo, Redis, Mail等等)

Spring Boot应用中这些第三方库几乎可以零配置的开箱即用(out-of-the-box),大部分的Spring Boot应用都 只需要非常少量的配置代码,开发者能够更加专注于业务逻辑。

优点:
1)快速的创建应用
2)使用嵌入式servlet容器,生成可直接运行的jar包,简化部署
3)大量的自动配置简化开发
4)starters自动依赖于版本控制

2. 开发示例


2.1 创建springboot工程


1)

2) 3)

 4)

5)

 

3. 启动类


springboot应用都会有一个启动类,

springboot默认扫描启动类所在包下的所有子包,也可以使用@ComponentScan注解指定扫描的包。

4. 常用注解


@SpringBootApplication这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。其实这个注解就是 @SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan 这三个注解的组合,也可以用这三个注解来代替 @SpringBootApplication 注解
@Configuration基于JavaConfig的配置形式,相当于xml配置文件中的bean配置,任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IoC容器,方法名将默认成该bean定义的id
@ComponentScan功能其实就是自动扫描并加载符合条件的组件(比如@Component和@Repository等)或者bean定义,最终将这些bean定义加载到IoC容器中。我们可以通过basePackages等属性来细粒度的定制@ComponentScan自动扫描的范围,如果不指定,则默认Spring框架实现会从声明@ComponentScan所在类的package进行扫描。(注:所以SpringBoot的启动类最好是放在root package下,因为默认不指定basePackages。)
@EnableAutoConfiguration借助@Import的支持,收集和注册特定场景相关的bean定义。允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径>下的包或者类来配置 Spring Bean
@SpringBootConfiguration这个注解就是 @Configuration 注解的变体,只是用来修饰是 Spring Boot 配置而已,或者可利于 Spring Boot 后续的扩展
@Conditional这是 Spring 4.0 添加的新注解,用来标识一个 Spring Bean 或者 Configuration 配置文>件,当满足指定的条件才开启配置
@ConditionalOnBean组合 @Conditional 注解,当容器中有指定的 Bean 才开启配置
@ConditionalOnMissingBean组合 @Conditional 注解,和 @ConditionalOnBean 注解相反,当容器中没有指定的 Bean 才开启配置
@ConditionalOnClass组合 @Conditional 注解,当容器中有指定的 Class 才开启配置
@ConditionalOnMissingClass组合 @Conditional 注解,和 @ConditionalOnMissingClass 注解相反,当容器中没有指定的 Class 才开启配置
@ConditionalOnWebApplication组合 @Conditional 注解,当前项目类型是 WEB 项目才开启配置
@ConditionalOnNotWebApplication组合 @Conditional 注解,和 @ConditionalOnWebApplication 注解相反,当前项目类型不是 WEB 项目才开启配置
@ConditionalOnProperty组合 @Conditional 注解,当指定的属性有指定的值时才开启配置
@ConditionalOnExpression组合 @Conditional 注解,当 SpEL 表达式为 true 时才开启配置
@ConditionalOnJava组合 @Conditional 注解,当运行的 Java JVM 在指定的版本范围时才开启配置
@ConditionalOnResource组合 @Conditional 注解,当类路径下有指定的资源才开启配置
@ConditionalOnJndi组合 @Conditional 注解,当指定的 JNDI 存在时才开启配置
@ConditionalOnCloudPlatform组合 @Conditional 注解,当指定的云平台激活时才开启配置
@ConditionalOnSingleCandidate组合 @Conditional 注解,当指定的 class 在容器中只有一个 Bean,或者同时有多个但为首选时才开启配置
@ConfigurationProperties用来加载额外的配置(如 .properties 文件),可用在 @Configuration 注解类,或者 @Bean 注解方法上面
@EnableConfigurationProperties一般要配合 @ConfigurationProperties 注解使用,用来开启对 @ConfigurationProperties 注解配置 Bean 的支持
@AutoConfigureAfter用在自动配置类上面,表示该自动配置类需要在另外指定的自动配置类配置完之后。如 Mybatis 的自动配置类,需要在数据源自动配置类之后,@AutoConfigureAfter(DataSourceAutoConfiguration.class) public class MybatisAutoConfiguration
@AutoConfigureBefore这个和 @AutoConfigureAfter 注解使用相反,表示该自动配置类需要在另外指定的自动配置类配置之前
@Import这是 Spring 3.0 添加的新注解,用来导入一个或者多个 @Configuration 注解修饰的类,这在 Spring Boot 里面应用很多
@ImportResource这是 Spring 3.0 添加的新注解,用来导入一个或者多个 Spring 配置文件,这对 Spring Boot 兼容老项目非常有用,因为有些配置无法通过 Java Config 的形式来配置就只能用这个注解来导入

5. springboot配置文件



#端口号 server.port=8080 

#上线文路径 server.servlet.context-path=/ 

#指定uri编码 server.tomcat.uri-encoding=utf-8 

#日志配置 logging.config=classpath:logback-spring.xml

6. 开发一个controller


 

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

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

相关文章

英语语法学习

文章目录第一章 a\an的用法第二章 复数代词及复数名词的用法第三章 形容词的用法第四章 一般疑问句的用法第五章 Yes\No的用法第六章 人称代词的所有格式第七章 What疑问句与专有名词第八章 Why疑问句的用法第九章 Every的用法第十章 连词Because的用法第十一章 Who疑问句的用法…

基于Java+JSP+MySQL基于SSM的智能推荐商城系统-计算机毕业设计

项目介绍 本文的主要工作是对基于B/S模式及JSP技术的基于智能推荐的b2c销售网站进行了研究与设计。本文首先介绍了基于智能推荐的b2c销售网站的背景,分析比较了国内外相关基于智能推荐的b2c销售网站的运行模式、系统特点与开发技术。然后分析了目前热点的各种Web应…

基于PHP+MySQL的物流配送管理系统平台

随着时代的发展,物流显得越来越重要。尤其是在网购这样的大环境冲击之下基本上物流已经充满了我们生活的每一个角落。尽管如此,但是对于那种大型的货物和车辆,仍然没有一个很好的信息共享平台。经常会出现出主找不到货源,货主找不到车源的情况。车主和货主之间形成了严重的信息…

脑啡肽 (2-4)、Enkephalin (2-4)、6234-26-0

脑啡肽 (2-4)、GGF 可刺激 SK-N-SH 细胞对 deltorphin 的摄取。 Enkephalin (2-4), GGF, stimulated the uptake of deltorphin in SK-N-SH cells.编号: 127373 中文名称: 脑啡肽 (2-4)、Enkephalin (2-4) 英文名: Enkephalin (2-4) CAS号: 6234-26-0 单字母: H2N-GGF-OH 三字母…

【Hack The Box】windows练习-- Sauna

HTB 学习笔记 【Hack The Box】windows练习-- Sauna 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月7日🌴 &#x1f3…

SpringSecurity(八)【RememberMe记住我】

八、RememberMe 简介 RememberMe 这个功能非常常见,无论是在 QQ、邮箱…都有这个选项。提到 RememberMe,往往会有一些误解,认为 RememberMe 功能就是把 用户名/密码 用 Cookie 保存在浏览器中,下次登陆时不用再次输入 用户名/密码…

正点原子开拓者FPGA,程序固化下载到板子里面

者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验&…

XCode内存和UnityProfiler内存有较大差值

1)XCode内存和UnityProfiler内存有较大差值 ​2)Dynamic Bone插件和Job System的写法哪个好 3)编辑器中iOS平台SoftShadow无效 4)Unity 2021中阻止AssetPostprocessor代码改变导致相关资源Reimport 这是第313篇UWA技术知识分享的推…

用DIV+CSS技术设计我的家乡网站(web前端网页制作课作业)南宁绿城之都

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

大一学生《web课程设计》用DIV+CSS技术设计的个人网页(网页制作课作业)

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

视频打马赛克并追踪

每天一个PS/PR小技巧(原理实践)见: 每天一个PS/PR小技巧(原理实践)_Dezeming的博客-CSDN博客PS是由Adobe Systems开发和发行的图像处理软件。本文的特色在于快速上手和制作一些生活中会常用的功能,并且解释…

数据库高级 II

数据库高级 II 如何保证二叉排序树中的元素是可比较大小的 让元素所属的类实现接口Comparable 比较器: Comparable: 内比较器,类实现该接口后,需要重写其中的抽象方法,在类的内部定义比较规则.观察String对象之间的比较练习:创建Student类型,其中的属性有:id 学号,name 姓名…

【深度学习】实验4布置:脑部 MRI 图像分割

DL_class 学堂在线《深度学习》实验课代码报告(其中实验1和实验6有配套PPT),授课老师为胡晓林老师。课程链接:https://www.xuetangx.com/training/DP080910033751/619488?channeli.area.manual_search。 持续更新中。 所有代码…

【Linux】基础IO —— 缓冲区深度剖析

🌈欢迎来到Linux专栏~~基础IO (꒪ꇴ꒪(꒪ꇴ꒪ )🐣,我是Scort目前状态:大三非科班啃C中🌍博客主页:张小姐的猫~江湖背景快上车🚘,握好方向盘跟我有一起打天下嘞!送给自己的一句鸡汤&a…

(免费分享)基于springboot论坛bbs系统

源码获取:关注文末gongzhonghao,输入010领取下载链接 开发工具IDEA ,数据库mysql5.7 技术:springbootjpashiroredislayui 前台截图: 后台截图: package com.qxczh.admin.service.impl;import com.qxczh.admin.servic…

关于城市旅游的HTML网页设计——中国旅游HTML+CSS+JavaScript 出游旅游主题度假酒店 计划出行网站设计

👨‍🎓静态网站的编写主要是用 HTML DⅣV CSSJS等来完成页面的排版设计👩‍🎓,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉…

人工智能--k近邻算法2-归一化、交叉验证、网格搜索、数据分割方法总结、两案例实现

人工智能-第三阶段-k近邻算法1-算法理论、kd树、鸢尾花数据 人工智能–k近邻算法2-归一化、交叉验证、网格搜索、数据分割方法总结、两案例实现 1.7 特征工程-特征值预处理 1.7.1 介绍 通过一些转换函数奖特征数据转换为更加适合算法模型的特征数据过程 为什么要进行归一化/…

最新最全面的Spring详解(二)——classpath扫描和组件管理

前言 本文为 【Spring】classpath扫描和组件管理 相关知识,下边将对Component 和及其派生出的其他注解,自动检测类和注册beanDifination,组件命名,为自动检测组件提供scope,使用过滤器自定义扫描,在组件中定…

【Java开发】 Spring 03:云服务器 Docker 环境下安装 MongoDB 并连接 Spring 项目实现简单 CRUD:

接下来介绍一下 NoSQL ,相比于 Mysql 等关系型的数据库,NoSQL (文档型数据库)由于存储的数据之间无关系,因此具备大数据量,高性能等特点,用于解决大规模数据集合多重数据种类带来的挑战&#xf…

Aspose.OMR for .NET 22.11.X Crack

Aspose.OMR for .NET 是一个可靠且通用的编程 API,用于设计和自动识别手填答题卡、调查、测试、选票、SAT 考试表格、保险索赔以及受访者通过随机抽取答案来回答问题的类似文件在圆形或正方形中标记。从成百上千个表单中手动读取和汇总结果的漫长且容易出错的过程归…