为什么要使用 SpringBoot 进行开发?
引用官网的原话:“Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.”【能快速创建出生产级别的spring应用】
SpringBoot官网文档链接:文档地址
版本迭代新特性链接:版本新特性
1、SpringBoot的优点
- 创建独立的Spring应用
- 内嵌服务器:意味着我们不用在开发的时候在配置Tomcat,简化我们的开发步骤
- 自动starter以来,简化构造配置
- 自动Spring以及第三方功能:Spring能做的SpringBoot也能做,SpringBoot能做的Spring不一定能做
- 提供生产级别的监控、健康检查以及外部化配置:这样既方便开发人员对内存性能的把控,也有助于运维分析项目
- 无代码生成,无需编写XML
- 总结:SpringBoot是整合Spring技术栈的一站式框架、是简化Spring技术栈的快速开发脚手架
2、SpringBoot缺点
- 人称版本帝,迭代快,需要时刻关注变化(也不一定是缺点,迭代快说明社区活跃)
- 封装太深,内部原理复杂,不容易精通
3、SpringBoot2快速入门——HelloSpringBoot2
1、因为我们现在都是在IDEA上进行开发,而Maven又充当了一个很好的项目管理工具,所以为了保证开发过程中的准确,减少错误的出现,我们第一步对Maven进行配置,文件为Maven安装目录中的conf文件夹下的settings.xml
,第一个是使用阿里云镜像加快我们的依赖下载速度,第二个是保证使用Java8版本
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
<profiles>
<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>
</profiles>
2、了解需求,我们想要实现在浏览发送/hello
请求,响应Hello SrpingBoot2,所以我们创建一个Maven项目
3、在pom.xml中引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4、要知道,SpringBoot已不再通过IDEA启动来开启服务,因为他内嵌服务器,那我们怎么来开启它,这就是我们要做的第四步,创建主程序【格式】
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
5、主程序编写完毕之后,我们差不多算是完成了一个基本的环境配置,这个时候我们来进行业务编写,实现上面的需求,这里的话又和之前学的Spring搭上边了:其中@RestController
相当于@Controller和@ResponseBody当然不止这两个注解
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01(){
return "Hello, SpringBoot2";
}
}
6、测试,在运行完主程序类之后
4、拓展1——简化配置
到现在为止,我们只是进行简单的SpringBoot环境测试,还没有与数据库等进行连接、整合测试,可以提前了解下,我们在SpringBoot项目中配置文件,不再像之前学习ssm整合这样好几个文件,而是在一个文件名为:applicaton.properties上进行配置,例如我们设置端口为:8888
server.port=8888
5、拓展2——简化部署
我们不一定要在IDEA上运行,我们可以把项目打包成jar包,直接在目标服务器上执行即可,这样就好比如我们本地上开发完项目,然后部署到服务器上,如出一辙,具体的做法是:
1、在pom.xml文中中导入插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2、在右侧的maven选项中选择clean和package进行打包
3、本地服务器上运行测试:
注意点:记得取消cmd的快速编辑模式