3.如何学习SpringBoot

1.Spring Boot是什么?

Spring Boot 是由 Pivotal 团队开发的框架,其作用是用来简化新 Spring 应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,简单理解就是springboot并不是什么新型的框架,而是整合了spring,springmvc等框架,默认了很多配置,从而减少了开发者的开发时间。
Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。 Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置。
Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。

2.为什么会出现Spring Boot?

(1)java项目开发复杂度极其高;
(2)java项目的维护非常困难;
(3)在云时代如何实现项目的快速部署一起快速启动;
(4)即便使用了大量的开发框架,发现我们的开发也没有少很多;
(5)当所有的人认为spring不再前进的时候,Spring退出了微架构实现的两个重要的开发框架:SpringBoot、SpringCloud。

Spring Boot的优缺点

优点
1)配置 web.xml,加载 spring 和 spring mvc
2)配置数据库连接、配置日志文件
3)配置家在配置文件的读取,开启注解
4)配置mapper文件
缺点
Spring Boot作为一个微框架,离微服务的实现还是有距离的。springboot 只是为了提高开发效率,是为了提升生产力的。
没有提供相应的服务发现和注册的配套功能,自身的acturator所提供的监控功能,也需要与现有的监控对接。没有配套的安全管控方案,对于REST的落地,还需要自行结合实际进行URI的规范化工作。
注意:
将现有或传统的Spring Framework项目转换为Spring Boot应用程序是一个非常困难和耗时的过程。它仅适用于全新Spring项目。
重点阐述
简单、快速、方便地搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。

3.Spring Boot快速搭建

(1)新建项目
选择 Spring Initializr ,然后选择默认的 url 点击【Next】:
然后修改一下项目的信息:
勾选上 Web 模板
选择好项目的位置,点击【Finish】
(2)自动生成模块
SpringbootApplication: 一个带有 main() 方法的类,用于启动应用程序
SpringbootApplicationTests:一个空的 Junit 测试了,它加载了一个使用 Spring Boot 字典配置功能的 Spring 应用程序上下文
application.properties:一个空的 properties 文件,可以根据需要添加配置属性
pom.xml: Maven 构建说明文件
(3)HelloController
在【com.springboot】包下新建一个【HelloController】:
@RestController 注解: 该注解是 @Controller 和 @ResponseBody 注解的合体版
(4)利用 IDEA 启动 Spring Boot
我们回到 SpringbootApplication 这个类中,然后右键点击运行:
注意:我们之所以在上面的项目中没有手动的去配置 Tomcat 服务器,是因为 Spring Boot 内置了 Tomcat
等待一会儿就会看到下方的成功运行的提示信息:
可以看到我们的 Tomcat 运行在 8080 端口,可以看到页面成功显示出我们返回的信息。

4.Spring Boot注解大全

@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
@Configuration 等同于spring的XML配置文件;使用Java代码可以检查类型安全。
@EnableAutoConfiguration 自动配置。
@ComponentScan 组件扫描,可自动发现和装配一些Bean。
@Component可配合CommandLineRunner使用,在程序启动后执行一些基础任务。
@RestController注解是@Controller和@ResponseBody的合集,表示这是个控制器bean,并且是将函数的返回值直 接填入HTTP响应体中,是REST风格的控制器。
@Autowired自动导入。
@PathVariable获取参数。
@JsonBackReference解决嵌套外链问题。
@RepositoryRestResourcepublic配合spring-boot-starter-data-rest使用。

5.学习心得

springBoot集成了web容器,我们只需要运行一个主程序就可以实现一个wen项目的运行。
需要添加springBoot这个父工程的依赖,才能对启动器的版本进行管理。springBoot里面已经帮助我们把我们需要启动器的版本管理好了,我们只需要引入需要的启动器就可以,不需要指明启动器的版本。
父工程坐标
启动器(我们并没有在这里指定版本信息。因为SpringBoot的父工程已经对版本进行了管理了。)
启动器里面包括我们需要的各种jar包及其自动配置类(spring没有配置自动配置的),当我们引入这个启动器的依赖时,就会触发springBoot为其定义的自动配置,通过在application.yml里面配置属性值,就会被读取,然后在@ConfigurationProperties(prefix = “jdbc”)这样的属性读取类读取我们配置的属性,然后在@Configuration
@EnableConfigurationProperties(JdbcProperties.class)这两个注解的类中进行注入属性,然后通过@bean注解的方法进行创建对象,放到ioc容器中。
我们如果配置了启动器,就会被主方法里面识别我们需要做的事情,如果我们没有配置属性值,就会使用默认的属性值,一般不要乱引入启动器,只引入需要的即可。
启动类(项目运行的主方法)
启动类放的位置:一般放在我们创建的包的目录:比如放在cn.itcast.leyou的目录下,与pojo,service,controller在同一目录下,因为需要在包扫描创建对象放在ioc容器中,扫描的是启动类同级的包及其子包中的带注解的类(针对@controller,@service,@component注解),mapper接口需要在启动类上配置包扫描。
springBoot默认配置生效原因
springBoot帮助我们设置了默认配置,并且根据你引入的依赖来生效对应的默认配置

3.如何学习SpringBoot_第1张图片
1.png

https://mubu.com/doc/pHFonCyPR0

你可能感兴趣的:(3.如何学习SpringBoot)