springboot简介

news/2024/11/29 9:49:48/

 02d0bf9d4e3c4d3787db057540c1fb16.jpgSpring Boot是由Pivotal团队提供的全新框架,属于spring旗下的一个项目,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,它使用“习惯优于配置”的理念,从而使开发人员不再需要定义样板化的配置。使用springboot很容易创建一个独立运行的spring项目,并且可以几乎不使用spring配置或者使用很少的配置。

 

 

  2、结构和使用:

 

  springboot和普通的javase项目相似,一个普通的maven项目添加它的依赖就行。spring提供很多的start pom简化maven的依赖加载,一般会配置一个parent依赖,控制整个springboot的版本,如果是web项目,配置一个spring-boot-start-web依赖,会自动关联一些常用的web依赖,比如springmvc、servlet甚至它会嵌入一个tomcat容器,因此无需再tomcat服务器中进行发布。springboot会自动扫描src/main/resources文件夹下的配置,一般是一个properties(application.properties)或者yaml文件,里面配置一些少量的必要的应用配置,例如数据库连接信息、服务器名称端口号之类的信息。

 

  编写springboot的入口类,一般命名是xxxApplication.java,其他的类都在它所在的目录或者子目录中,这样spring容器会自动扫描有相应注解的类。入口类上的注解是SpringBootApplicaton,类中有个Main方法作为程序入口,springboot框架提供一个方法启动项目Application.run(本类名.class,args)。一直运行就启动springboot项目。

 

  以上两步就是最基本的配置,并且是一个呈现一个基本的springboot雏形。

 

  springboot运行原理:

 

  入口注解@SpringBootApplication注解是一个组合注解,它包含@configuration、@EnableAutoConfiguration和@componentScan三个注解组成。它的核心是@EnableAutoConfiguration注解。这个注解中有一个@Import注解,它导入配置功能EnableAutoConfigurationImportSelector,这个类有个方法扫描具有/META-INF/spring.factories文件的jar。spring.factories中声明了哪些自动配置。然后我们在application.properties文件中进行相应的配置,比如数据库连接,使springboot中的自动配置中的参数是我们需要的配置。

 

  springboot启动:

 

  springboot项目打包后的结构

 

  

 

  在manifest.mf中内容如下:

 

  

 

  可以看到有Main-Class是org.springframework.boot.loader.JarLauncher ,这个是jar启动的Main函数。

 

还有一个Start-Class是com.example.SpringBootDemoApplication,这个是我们应用自己的Main函数。

 

  springboot的配置方法:

 

  springboot配置最大的特点是“约定优于配置”,很多配置方式都是使用的业界习惯的方式配置,一般遵循springboot的配置方式,大部分配置都能够在application.properties文件中配置,而且非常简单。但是也有不能再这个文件中配置的。

 

  springboot是spring旗下的产品,分为三种配置方式:

 

    1)xml文件形式。从spring1.x版本开始使用。

 

    2)xml和注解并用的实行。基本配置使用xml(例如数据库配置),业务配置使用注解。

 

    3)Java形式的配置,从spring4.x推荐使用。使用@Configuration注解表明该类是一个注解类,@Bean配置方法上表明当前方法返回一个Bean。

 

  3、区别:

 

  spring创造项目中需要的对象(控制反转),解决耦合问题,实现“一站式”开发,aop面向切面编程,是各个框架无缝整合。而springboot拥有spring所有的功能,实现“零配置”简化spring繁杂的配置。

 

  springboot可以是jar/war的形式发布,并且自带tomcat容器(里面默认是servlet容器),spring的传统项目只能是war形式,需要在tomcat中发布。

 

  springboot是自动配置,spring传统web项目需要逐一配置。

 

  4、微服务:

 

  微服务的含义:使用定义好的边界小的独立组件来做好一件事情。微服务是相对于传统的单跨式架构而言的。springboot就是服务框架。


http://www.ppmy.cn/news/1589.html

相关文章

Android 开源一个USB读写demo,从多个USB设备中选择一个实现外设控制的通信

CSDN 下载链接https://download.csdn.net/download/gao511147456/87226599&#xff08;可0积分免费下载&#xff09; 如果你不想下载可以阅读下面教程并复制代码到自己的项目中 这是我插拔USB的运行视频 device-2022-11-27-231324AndroidManifest <?xml version"1.0…

秒懂数据结构之Map _ Set ,竟如此简单

Map、Set 文章目录 前言一、Map、Set的初步理解二、Map、Set的CURD方法的实现三、Map、Set的遍历总结前言 Set和Map天然就是高效搜索/查找的语义在这里我为什么将这两个集合分别列举比较呢&#xff1f;希望通过我的这篇博客可以增进大家对Map和Set的认识&#xff01;一、Map、…

jsp儿童网站系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 jsp 儿童网站系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开 发&#xff0c;数据库为Mysql&#xff0c;使用ja…

Java实验七

文章目录前言一、判断E盘指定目录下是否有后缀名为.jpg的文件&#xff0c;如果有就输出此文件名称。二、分别使用字节流和字节缓冲流的两种读取方式实现对图片文件的复制操作并比较两种方式在复制时间上的效率。三、编写一个程序&#xff0c;分别使用转换流、字符流和缓冲字符流…

Linux开发常用ps命令选项详解

【摘要】本文介绍了在Linux应用/内核开发调试中&#xff0c;经常需要用到的两个选项组合&#xff0c;当然&#xff0c;如果你需要查看更多更详尽的选项说明&#xff0c;可以参考man说明文档&#xff0c;即命令行下输入man ps进行查看。 aux选项组合 使用场景&#xff1a;更多…

uImage的制作过程详解

1、uImage镜像介绍 参考博客&#xff1a;《vmlinuz/vmlinux、Image、zImage与uImage的区别》&#xff1b; 2、uImage镜像的制作 2.1、mkimage工具介绍 参考博客&#xff1a;《uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)》&#xff1b; 2.2…

MySQL日志管理、备份与恢复

一.MySQL 日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data MySQL 的日志配置文件为/etc/my.cnf &#xff0c;里面有个[mysqld]项 修改配置文件&#xff1a; vim /etc/my.cnf [mysqld] 1、错误日志 错误日志&#xff0c;用来记录当MySQL启动、停止或运行时发生…

简洁自增ID实现方案

简介 从数据库性能角度考虑&#xff0c;我们经常需要数字型的自增主键&#xff0c;有时候我们并不想用像MySQL自带的自增&#xff0c;因为从1开始很数据位数不一样&#xff0c;对有点强迫症的人来说&#xff0c;不是很友好。 另外&#xff0c;别人也容易根据这种从1开始的自增…