前言
最近一直在用spring boot,想把自己学到的东西以及遇到的问题记录下来分享给大家,会持续更新文章,请大家多多关注哦
##一: 什么是spring ##
从本质上来说,Spring Boot就是Spring,它做了那些没有它你也会去做的Spring Bean配置。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。使用Spring Boot很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于Spring框架的项目,使用Spring Boot你可以不用或者只需要很少的Spring配置。
二:springboot的优势
- 帮助开发者快速搭建Spring框架,无需配置自动整合第三方框架
- 继承了原有的Spring框架的优秀基因。
- 嵌入的Tomcat,无需部署WAR文件
- 简化Maven配置
- 自动配置Spring
- 简化了Spring的使用过程,提高了开发效率。
三:springboot的不足
- 仅仅适用于全新的spring项目,不适合重构项目。
- 因为集成度较高,所以很难理解到底层。
四:构建第一个springboot项目
请熟记一个网址:springboot初始化项目,打开之后我们进入如下页面并填写相关信息,我选择的是最新的版本,组织名和项目名你按照自己的习惯去写,右下角的依赖我们暂时就加一个web就可以了,然后创建项目,之后用IDEA打开:
进入到项目,先来看看项目结构,发现这个项目里面有个类似javaSE程序的启动入口,没错,那就是springBoot 的启动入口类,直接右击,run一下就好了。:
接下来我们来看看打印的日志消息,ps:打印的日志消息很重要,很多错误的排查都是从日志里找的,所以一定要学会慢慢去要求自己去看日志:
项目启动之后我们来访问一下,默认端口是8080,从打印的日志可以看出:
接下来我们在启动类上添加springmvc相关的一些注解:
@Controller
@SpringBootApplication
public class SpringBootStudy1Application {
public static void main(String[] args) {
SpringApplication.run(SpringBootStudy1Application.class, args);
}
@RequestMapping("/hello")
@ResponseBody
public String helloWorld(){
return "helloWorld";
}
}
再次来访问一下:
就这样我们第一个简单的springboot项目就搞定了,有没有发现我们没有整合springmvc,没有写什么配置文件,都搞定了,发现真的好方便。
最后我来贴下我的pom文件,ps:自己如果没有点过的童鞋们,尝试着自己去点进去看看,为什么没有springmvc的jar包也能使用springmvc的注解
<groupId>com.coderV</groupId>
<artifactId>springBoot-study-1</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springBoot-study-1</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
关于springboot程序的一些入门小知识:
- Spring Boot 的父级依赖spring-boot-starter-parent配置之后,当前的项目就是Spring Boot项目,并且它是用来提供maven的默认依赖,配置它之后,常用的jar包依赖都可以省去version的配置
- 如果不想使用某个默认的依赖版本,可以通过pom.xml文件的属性配置覆盖各个依赖项,比如自己加一个mybatis的依赖,包括版本号。
- @SpringBootApplication 注解是Spring Boot项目的核心注解,主要作用是开启Spring自动配置;
- main方法是一个标准的Java程序的main方法,主要作用是作为项目启动运行的入口;
- springboot里面依然可以使用springmvc的相关注解
- springboot有两种格式的配置文件:yml和properties
分享一个小技巧,假如你的application.properties没有提示功能,或者你不太清楚server下面有哪些内容,我们可以去源码里看一下:
1:先 find in path (ctrl+shift+f )
2:然后进入,找到sourcetype,然后找到后面的类名 快捷键: ctrl+n:
3:由此我们就知道了server.port的正确写法
建议:心里有问题,就去问去查,你会发现慢慢的会扯出一堆的知识点,你也会慢慢的懂的越来越多。
下一篇:thymeleaf模板引擎初探
获取源码请访问:我的github地址
如果有小伙伴觉得我写的不错的话可以关注一下我的博客,我会一直持续更新,也可以支持一下我的公众号哦:java架构师小密圈,会分享架构师所必须深入研究的技术,比如netty,分布式,性能优化,spring源码分析,mybatis源码分析,等等等,同时还会分享一些赚钱理财的小套路哦,欢迎大家来支持,一起学习成长,程序员不仅仅是搬瓦工!
公众号:分享系列好文章
交流群:群友互相分享资料