1 SpringBoot简介
官网https://spring.io/projects/spring-boot
-------------------整合spring整个生态圈的一站式框架
1.1.回顾什么是Spring
Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。
Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。
1.2.Spring是如何简化Java开发的
为了降低Java开发的复杂性,Spring采用了以下4种关键策略:
1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
2、通过IOC,依赖注入(DI)和面向接口实现松耦合;
3、基于切面(AOP)和惯例进行声明式编程;
4、通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
1.3.什么是SpringBoot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
Spring Boot的主要优点:
- 为所有Spring开发者更快的入门
- 开箱即用,提供各种默认配置来简化项目配置
- 内嵌式容器简化Web项目
- 没有冗余代码生成和XML配置的要求
1.4.SpringBoot的核心功能
-
起步依赖
起步依赖的本质是一个Maven项目模型,定义对其他库的传递依赖,这些东西加在一起,完成指定某个功能
-
自动配置
自动配置是指程序启动的时候,Springboot考虑安全/集成/持久化/web等各方面因素,决定配置应该使用哪一个,该过程有Spring自动完成
1.5 SpringBoot的优点
-
Create stand-alone Spring applications
-
- 创建独立Spring应用
-
Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files)
-
- 内嵌web服务器
-
Provide opinionated ‘starter’ dependencies to simplify your build configuration
-
- 自动starter依赖,简化构建配置
-
Automatically configure Spring and 3rd party libraries whenever possible
-
- 自动配置Spring以及第三方功能
-
Provide production-ready features such as metrics, health checks, and externalized configuration
-
- 提供生产级别的监控、健康检查及外部化配置
-
Absolutely no code generation and no requirement for XML configuration
-
- 无代码生成、无需编写XML
SpringBoot是简化Spring技术栈的快速开发脚手架
1.6、SpringBoot缺点
- 人称版本帝,迭代快,需要时刻关注变化
- 封装太深,内部原理复杂,不容易精通
2 SpringBoot快速入门
2.1代码实现
2.1.1 创建Maven工程
2.1.2 添加Maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.1.3 编写SpringBoot引导类
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication//标注这是springboot引导类
public class MySpringBootApplacation {
public static void main(String[] args) {
SpringApplication.run(MySpringBootApplacation.class);
}
}
2.1.4 编写controller
@Controller
public class helloController {
@RequestMapping("/hello")
@ResponseBody
public String test(Model model){
model.addAttribute("msg","hello");
return "hello wee";
}
}
2.1.5 更改端口号
application.yaml
server:
port: 81