Spring Boot是什么?
Spring团队开发的一个框架;目的是为了帮助我们快速简单的创建一个独立的产品级的应用(官网原话 哈哈);对于我们来说就是更方便地进行web开发,当然实际远远不止于此。
我们最早接触的框架应该是Spring / Spring MVC,当时要创建一个Spring应用开发;将Spring、Spring MVC、MyBatis整合;当时底层数据访问还没有用框架,还是在写最基础的JDBC。要导入一大堆jar包和依赖,还要写一大堆配置文件。部署时要打成war包,目标环境还必须有配置好的Tomcat服务器。
大量的配置对于初学者极不友好,往往是:上课演示BAT,实际操作500
Spring Boot有什么具体的优点呢?
- 快速创建独立运行的Spring项目以及与主流框架集成(就是方便嘛!)
- 使用嵌入式的Servlet容器,应用无需打成WAR包。直接jar包就可以。
- starters自动依赖与版本控制。(不用自己导入依赖了,也不用自己管理版本)
- 大量的自动配置。(自动嘛!懂吧,但是可以手动修改默认配置)
- 。。。
那缺点有什么?
常说Spring Boot入门容易精通难,害 ~ 我也就精通吃喝睡了吧。所以说在开心地使用Spring Boot的同时也不要忘记学习一下Spring的一些知识,也要知其所以然嘛。
Spring Boot使用需要哪些准备知识?
· 具备Spring框架的使用经验,我们很多同学都接触过经典的Spring MVC框架,这个问题不大。
· 熟练使用Maven进行项目构建和依赖管理。dbq我没学过。。。
· 熟练使用Eclipse或IDEA,用过Java 或做过web开发的同学Eclipse应该很熟悉了吧。
试图入门。。。入门失败
很多同学对Spring Boot作为一个框架,如何使用它一开始会感觉无从下手。。。那如何用Spring Boot先实现最简单的向服务器发送请求,服务器响应“Hello World”呢?
首先电脑中要有下列环境:
– JDK1.7及以上,大部分同学用的都是JDK1.8版本
– maven3.x:maven 3.3以上版本;Apache Maven 3.3.9
– IntelliJIDEA2017:IntelliJ IDEA 2017.2.2 x64、STS (编译器)
1、MAVEN设置
找到自己电脑上的maven,给maven 的settings.xml配置文件的profiles标签添加。这是告诉maven要用jdk1.8,其他版本也不是不行,出了问题不一定百度得出来哦。(文末给了maven的安装和下载链接)
<profile>
<id>jdk‐1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
2、IDEA设置
整合maven进来;
3、在IDEA中创建一个maven工程,导入相关Spring Boot依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
至此相关的jar包和依赖都已经自动导入,此过程注意保持网络畅通。
导入完成后可进行查看:
4、下面编写一个主程序;启动Spring Boot应用
5、编写相关的Controller
6、运行主程序
可在控制台看到Tomcat在8080端口成功启动:
7、在浏览器地址栏输入:localhost:8080,可以看到错误界面。
我们指定访问路径:localhost:8080/hello,访问成功
我们发现自始至终都没有接触到Tomcat,也没有进行任何jar包和依赖的手工添加。
那是因为Spring Boot内置了Tomcat,并且jar包和依赖的导入以及版本管理都是自动的。是不是比之前的方便了好多!
而且Spring Boot特有的注解也是贼方便,不用自己再创建一堆Servlet。
踩个坑
个人觉得环境和框架的搭建难度不亚于开发过程(当然也因为我开发的功能极其简陋,不值一提 嘿嘿),下面絮絮叨一下:
1、Spring官网推荐的Spring Boot 2.2.2版本,我觉得就用这个就欧克。
部分教程的演示版本比较低,比如1.5.9之类的,其实版本问题不大。但是我在用1.5.9的时候运行项目失败,报错找不到主类class,我:???
百度了以后添加各种依赖,菜鸡的我没能解决。。。最后更换版本为2.2.2,成功运行。
2、启动报错,jdbc未配置。
在最初创建项目的时候,如果不小心导入了jdbc或MyBatis的依赖(开始只要web的依赖就可以了),但是又没有进行数据库相关的配置,没有连接到数据库,那就会报错。解决方案:https://segmentfault.com/a/1190000019090635