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

springboot相关知识集锦----1

一、springboot是什么?

springboot是一个用于构建基于spring框架的独立应用程序的框架。它采用自动配置的原则,以减少开发人员在搭建应用方面的时间和精力。同时提升系统的可维护性和可扩展性。

二、springboot的优点

约定优于配置
版本锁定:解决maven依赖版本容易冲突的问题,集合了常用的并且测试过的所有版本
起步依赖:解决了完成某一个功能要整合的jar包过多的问题,集合了常用的jar包
自动配置:解决了整合框架或者技术的配置文件过多,集合了所有的约定的默认配置
内置tomcat: 通过内置tomcat,无需再用其他外置的tomcat就可以直接运行javaEE程序
人们把springboot称为搭建程序的脚手架。其中最主要作用就是帮我们快速的构建庞大的spring项目,并且尽可能减少一切xml配置。

三、运行springboot项目的方式

1.可以打包
2.可以使用maven插件直接运行
3.直接运行main方法

四、springboot的启动器starter

1.starter启动器,可以通过启动器集成其他的技术,可以提供对应技术的开发和运行环境。
2.starter执行原理:
*springboot在启动时候会去扫描jar包中一个名为spring.factories
*根据文件中的配置,去加载自动配置类。配置文件格式是key = value,value中配置了很多需要spring加载的类
*spring会去加载这些自动配置类,spring读取后,就会创建这些类的对象,放到spring容器中,后期就会从spring容器中获取这些类的对象

五、springboot运行原理

1.springboot核心通过maven继承依赖关系快速整合第三方框架
2.基于springMVC无配置文件完全注解化实现springboot框架,main函数启动

六、springboot如何完成自动配置

1.springboot自动配置的注解是@enableautoconfiguration
2.我们使用的时候是在启动类上加@springbootapplication,这个注解是复合注解,内部包含@enableautoconfiguration
3.@enableautoconfiguration内部有一个@import,这个注解才是完成自动配置的关键
4.@import导入一个类,这个类内部提供了一个方法selectimport,这个方法会扫描导入的所有jar包下的spring.factories文件。解析文件中自动配置类key = value,将列表中的类创建,并放入spring容器中。

七、springboot常用注解

1.springbootapplication:它封装了核心的@springbootconfiguration+@enableautoconfiguration+@componentscan这三个大类,大大节省了程序员配置时间,这就是springboot的核心设计思想。
2.@enablescheduling是通过@import将spring调度框架相关的bean定义都加载到ioc容器中
3.@mapperscan:springboot支持mybatis组件的一个注解,通过此注解指定mybatis接口路径,即可完成对mybatis接口的扫描
4.@Restcontroller:@responsebody+@controller结合
5.@requestmapping:我们都需要明确请求的路径
6.@pathvariable:路径变量注解,用{}来定义url部分的变量名
7.@service:标记业务层的组件,业务逻辑处理都会加上这个注解交给spring容器
8.@component和spring注解功能一样,注入ioc容器中
9.@controlleradvice和@exceptionhandler配合完成统一异常拦截处理
http://www.lryc.cn/news/354285.html

相关文章:

  • App推广新境界:Xinstall助你轻松突破运营痛点,实现用户快速增长!
  • YOLOv10 论文学习
  • [Spring Boot]baomidou 多数据源
  • Drone+Gitee自动执行构建、测试和发布工作流
  • Unity3D MMORPG 主城角色动画控制与消息触发详解
  • 【Text2SQL 经典模型】HydraNet
  • Mysql-根据字段名查询字段在哪些表里
  • 牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
  • 八种单例模式
  • 禅道密码正确但是登录异常处理
  • Go微服务: Nacos的搭建和基础API的使用
  • 基于Hadoop的城市公共交通大数据时空分析
  • DNS服务的部署与配置(2)
  • MySql--SQL语言
  • 【网络安全】2030年十大新兴网络安全威胁
  • python数据分析-CO2排放分析
  • 2024宝藏工具EasyRecovery数据恢复软件免费版本下载
  • 【EventSource错误解决方案】设置Proxy后SSE发送的数据只在最后接收到一次,并且数据被合并
  • 如何在linux命令行(终端)执行ipynb 文件。可以不依赖jupyter
  • 基于YOLOv8的车牌检测与识别(CCPD2020数据集)
  • 驱动开发之新字符设备驱动开发
  • 【JMU】21编译原理期末笔记
  • 就业信息|基于SprinBoot+vue的就业信息管理系统(源码+数据库+文档)
  • 一.架构设计
  • <学习笔记>从零开始自学Python-之-实用库篇(一)-pyscript
  • Vue项目中npm run build 卡住不执行的几种情况(实战版)
  • 《Python源码剖析》之pyc文件
  • Python零基础-中【详细】
  • 回溯 leetcode
  • Android firebase消息推送集成 FCM消息处理