SpringBoot知识点整理
⽬录
1.对SpringBoot的认识
1.1.什么是SpringBoot
springboot 是 spring 快速开发脚⼿架,通过约定⼤于配置的⽅式,快速构建和启动 spring 项⽬.
springboot根据我们项⽬中所引⼊的依赖,⽐如引⼊了springmvc构件,就会判断出是要进⾏springmvc的web开发,就会把springmvc 的相关基本配置⾃动配置好了,不需要我们在xml中配置。 ⽐如配置前端控制器DispatcherServlet、配置视图解析器、配置静态资源访问、处理器映射器、处理器适配器等⼀系列组件,
1.2.SpringBoot解决了哪些痛点
spring 的缺点:
1.复杂的配置
项⽬各种配置是开发时的损耗, 写配置挤占了写应⽤程序逻辑的时间。
2.混乱的依赖管理
项⽬的依赖管理⾮常的繁琐。决定项⽬⾥要⽤哪些库就已经够让⼈头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这是⼀个棘⼿的问题。并且,⼀旦选错了依赖的版本,随之⽽来的就是各种的不兼容的bug
spring boot 可以解决上⾯ 2 个问题
1.3.SpringBoot有哪些特性
快速开发 spring 应⽤的框架
内嵌 tomcat 和 jetty 容器,不需要单独安装容器,使⽤main⽅法就可以 直接启动发布⼀个 web应⽤
简化 maven 配置,通过继承 parent构件 ,⼀站式引⼊需要的各种依赖(启动器),简化依赖管理
通过 约定⼤约配置的⽅式可以实现基于注解的零配置思想
和各种流⾏框架, spring web mvc , mybatis , spring cloud ⽆缝整合
官⽹
总结
spring boot 是 spring 快速开发脚⼿架,通过约定⼤于配置,优化了混乱的依赖管理,和复杂的配置,让我们⽤java -jar⽅式,运⾏启动java web 项⽬
2. ⼊门案例
2.1.新建module
需求:创建HelloController,在页⾯中打印hello
先新建⼀个空的⼯程:
设置 jdk 版本 :
新建⼀个 module :
使⽤ maven 来构建
然后填写项⽬坐标
项⽬结构:
springboot框架的作用2.l添加相关依赖
2.2.1.添加⽗⼯程坐标
SpringBoot 提供了⼀个名为 spring-boot-starter-parent 的构件,⾥⾯已经对各种常⽤依赖(并⾮全部)的版本进⾏了管理,我们的项⽬需要以这个项⽬为⽗⼯程,这样我们就不⽤操⼼依赖的版本问题了,需要什么依赖,直接引⼊坐标即可!
2.2.2.添加web启动器
为了让 SpringBoot 帮我们完成各种⾃动配置,我们必须引⼊ SpringBoot 提供的⾃动配置依赖,我们称为启动器 。因为我们是web 项⽬,这⾥我们引⼊ web 启动器
2.2.
3.管理jdk版本
默认情况下, maven ⼯程的 jdk 版本是 1.5 ,⽽开发使⽤的是 11 ,因此这⾥我们需要修改 jdk 版本
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="/POM/4.0.0"
xmlns:xsi="/2001/XMLSchema-instance"
xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bowei.springboot</groupId>
<artifactId>springbootdemo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--管理jdk版本-->
<properties>
<java.version>11</java.version>
</properties>
<!--添加⽗⼯程坐标我们的项⽬继承⽗⼯程项⽬,这样我们就不⽤操⼼依赖的版本冲突问题了
由parent统⼀管理版本号,不需要再写版本号-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<!--添加web启动器
为了让SpringBoot帮我们完成各种⾃动配置,我们必须引⼊SpringBoot提供的⾃动配置依赖,我们称为启动器。
因为是web项⽬,这⾥我们引⼊web启动器-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
注意的是,我们并没有在这⾥指定版本信息。因为 SpringBoot 的⽗⼯程已经对版本进⾏了管理了。
2.3.启动类
Spring Boot 项⽬通过 main函数来启动的,我们需要创建⼀个启动类,编写 main 函数,这个启动类是固定的,后⾯会通过⼯具⾃动⽣成。
下⾯,就可以像以前那样开发SpringMVC的项⽬
2.4.编写controller
2.5.启动测试
运⾏ main函数,查看控制台,可以看到监听的端⼝信息
1 )监听的端⼝是 8080
2 ) SpringMVC 的映射路径是: /
3 ) /hello 路径已经映射到了 HelloController 中的 hello() ⽅法
打开页⾯访问: localhost:8080/hello
3. Spring全注解配置和属性注⼊
上⾯demo没有任何的配置,就可以实现⼀个SpringMVC的项⽬了,快速、⾼效。
但是没有任何的 xml ,那么如果要配置⼀个 Bean 该怎么办?⽐如我们要配置⼀个数据库连接池,以前xml中需要这样配置
在Spring3.0开始,Spring官⽅就已经开始推荐使⽤java配置来代替传统的xml配置了
3.1.spring全注解配置
spring 全注解配置主要靠 java 类和⼀些注解,⽐较常⽤的注解有
@Configuration :声明⼀个类作为配置类,代替xml⽂件
@Bean :声明在⽅法上,将⽅法的返回值作为对象反转到 Spring 容器中管理,代替 <bean> 标签@value :属性注⼊
@PropertySource :指定外部属性⽂件,
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论