SpringBoot执行过程

SpringBoot设计目的是简化Spring应用的初始搭建以及开发过程。

  • SpringBoot程序优点

起步依赖(简化依赖配置)
自动配置(简化常用工程相关配置)
辅助功能(内置服务器,……)
  • SpringBoot如何起步依赖,自动配置,辅助功能?

通过四种方式:parent starter 引导类 内嵌tomcat

parent

  • parent:减少配置依赖 冲突,简化配置。

  • 如何简化依赖管理思路

把版本集中管理坐标集中管理一拆为二,
第一个是把常用的版本信息统一写到一起,配置成maven属性。
第二个直接引用左边坐标, 只做坐标管理,把结构打开,把能用的所有坐标列一遍。
而springboot全做成大的版本统一,把版本融合性进行测试,哪个匹配最好。
好处:以后不用管理坐标版本。

pom.xml文件中的<parent> </parent>

打开parent可以发现其中又继承了一个坐标,引入了很多依赖

各种依赖版本号属性,下面列出依赖版本属性的局部,可以看的出来,定义了若干个技术的依赖版本号

总结:

1. 开发SpringBoot程序要继承spring-boot-starter-parent。
2. spring-boot-starter-parent中定义了若干个依赖管理。
3. 继承parent模块可以避免多个依赖使用相同技术时出现依赖版本冲突。
4. 继承parent的形式也可以采用引入依赖的形式实现效果。
5. 所有SpringBoot项目要继承的项目,定义了若干个坐标版本号
(依赖管理,而非依赖),以达到减少依赖冲突的目的。
6. spring-boot-starter-parent各版本间存在着诸多坐标版本不同。

starter

  • SpringBoot中常见项目名称,定义了当前项目使用的所有依赖坐标,

以达到减少依赖配置的目的。

  • 将具备某种功能的坐标打包到一起,可以简化依赖导入的过程。

例如:我们导入 spring-boot-starter-web这个starter,
则和web开发相关的jar包都一起导入到项目中了。

总结:

1. 开发SpringBoot程序需要导入坐标时通常导入对应的starter
2. 每个不同的starter根据功能不同,通常包含多个依赖坐标
3. 使用starter可以实现快速配置的效果,达到主体做简化配置目的,要用到parent继承过来的版本。

实际开发

1. 使用任意坐标时,仅书写GAV中的G和A,V由SpringBoot提供,
除非SpringBoot未提供对应版本V 。
2. 如发生坐标错误,再指定Version(要小心版本冲突)。

引导类

  • 引导类也是程序的入口,加载bean,把bean加载起来。

1.SpringBoot工程提供引导类用来启动程序,运行main方法就可以启动项目,
而引用类的功能主要依赖@SpringBootApplication解,当没有任何指定包的时候,
spring扫的是默认当前配置类所在包以及子包。
2. SpringBoot工程启动后创建并初始化Spring容器,扫描引导类所在包加载bean。

  • 注意:

未启动web服务器,那谁启动web服务器的呢?

辅助功能(内嵌tomcat)

  • 内嵌Tomcat服务器是SpringBoot辅助功能之一。

  • 为什么程序中没有装tomcat还能启动起来带tomcat?

将一个tomcat容器的执行过程抽取出来,变成一个对象,然后把这个对象交给spring容器进行管理。
变成了spring容器中有一个tomcat对象,要运行的所有东西要在tomcat对象里面运行。

  • 使用maven依赖管理变更起步依赖项

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <!--web起步依赖环境中,排除Tomcat起步依赖-->
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!--添加Jetty起步依赖,版本由SpringBoot的starter控制-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jetty</artifactId>
    </dependency>
</dependencies>
  • 总结:

1. 内嵌Tomcat工作原理是将Tomcat服务器作为对象运行,并将该对象交给Spring容器管理。
2. 变更内嵌服务器思想是去除现有服务器,添加全新的服务器。

RESTful风格后续简单总结

@RequestParam用于接收url地址传参或表单传参

@RequestBooy用于接收json数据

@PathVariable用于接收路径参数,使用{参数名称}描述路径参数

应用

后期开发中,发送请求参数超过1个时,以json格式为主,@RequestBoody较多,实体类接收数据。

发送非json格式数据,用@RequestParam接收请求参数

采用RESTful进行开发,当参数数量较少时,可以采用@PathVariable接收请求路径变量,通常用于传递id值。

@Controller和@ResponseBood简化成@RestController

@RequestMapping(method=RequestMethod.GET)简化成@GETMapping

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringBoot是一种基于Spring框架的快速开发Web应用程序的工具。而Vue是一种用于构建用户界面的渐进式JavaScript框架。将SpringBoot和Vue结合起来,可以轻松构建现代化的Web应用程序。 下面是SpringBoot整合Vue的执行过程: 1. 创建一个SpringBoot项目:可以使用Spring Initializr或者手动创建一个Maven项目。在pom.xml中添加SpringBoot和Vue的依赖。 2. 创建Vue项目:使用Vue的脚手架工具创建一个Vue项目。可以使用命令行或者Vue的GUI工具来创建。 3. 配置Vue项目:在Vue项目中,需要将API请求代理到SpringBoot服务器。在vue.config.js文件中添加以下代码: ``` module.exports = { devServer: { proxy: { '/api': { target: 'http://localhost:8080', ws: true, changeOrigin: true } } } } ``` 这段代码告诉Vue的开发服务器将所有以/api开头的请求代理到SpringBoot服务器的8080端口。 4. 编写代码:在Vue项目中,可以使用axios或者其他HTTP客户端库来发送API请求。在SpringBoot项目中,需要编写控制器和服务来处理这些请求。 5. 打包并运行:在Vue项目中,使用npm run build命令打包项目。将生成的dist目录的内容复制到SpringBoot项目的src/main/resources/static目录下。在SpringBoot项目中,使用mvn spring-boot:run命令运行应用程序。 6. 访问应用程序:在浏览器中访问http://localhost:8080即可访问应用程序。 以上就是SpringBoot整合Vue的执行过程

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值