发布时间: 2020-06-24 11:34:50
【Java技术】SpringBoot入门基础
一、 SpringBoot诞生的背景
1. 在SpringBoot出现以前,使用spring框架配置web应需要大量的xml配置。
2. 随着web项目集成软件的不断增多,xml配置文件也在不断地增多,项目的依赖管理也越发的复杂。
3. xml配置文件不但复杂,而且绝大部分属于模板配置,很多的配置是不断重复的。对新手非常的不友好。
二、 SpringBoot改变了什么?
1. SpringBoot的目标不在为已解决的问题提供新的解决方案,简化对已有技术的开发体验。
2. 使配置更加简单
3. 使开发变得简单
4. 使部署变得简单
三、 SpringBoot的主要特性
1. 遵循约定大于配置的原则,简化配置
2. 脱离XML配置文件,使用注解实现配置
3. 内嵌Servlet容器,项目打包成jar包,运行更加方便
4. 提供启动器,使得配置场景化,方便包管理,简化配置
5. 快速与第三方类库整合,方便易用
四、 SpringBoot与Spring,SpringMVC对比
1. SpringBoot项目并不是替换Spring、SpringMVC,而是使他们用起来更加简单
2. Spring框架最核心的特性就是依赖注入DI和控制反转IOC
3. Spring MVC提供了一种友好的方式来开发Web应用程序,可以轻松开发web
4. Spring 和 Spring MVC较大的弊病在于重量级的配置,并且这些配置有很高的相似性。
5. Spring Boot期望通过结合自动配置和启动器来解决模板化问题
6. Spring Boot提供了丰富的第三方集成,简化开发体验
五、 什么是SpringBoot Starter?
是一组被依赖的第三方类库的集合:
如:引入spring-boot-starter-web,就会自动引入以下与其对应的依赖包
1. Spring核心,beans,context上下文,AOP面向切面
2. SpringMVC
3. Jackson
4. Validation参数校验
5. 内嵌Servlet容器
6. 日志框架
六、 Spring Boot Starter Parent
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
所有的Spring Boot项目默认使用spring-boot-starter-parent作为应用程序的父项目
方便统一管理Java版本与依赖版本
七、 内嵌Servlet容器
1. SpringBoot默认打包为jar
2. 使用java -jar即可运行
3. 使得部署变得简单,有利于服务的构建,启动和扩容
4. 支持其他容器作为web容器
八、 使用idea快速构建SpringBoot项目
九、 构建模块化SpringBoot工程
1. 通过idea快速创建SpringBoot项目,删除src目录,并修改pom文件<!--定义全局版本号-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--父工程属性-->
<groupId>cn.codermk</groupId>
<artifactId>springbootall</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--子工程继承父工程,父工程需要打包成pom-->
<packaging>pom</packaging>
<name>springbootall</name>
<description>Spring Boot2.3全家桶案例</description>
<!--加载子工程-->
<modules>
<module>helloword</module>
</modules>
2. 编写第一个入门案例
1. 新建helloword模块,并修改pom文件<!--继承父模块-->
<parent>
<groupId>cn.codermk</groupId>
<artifactId>springbootall</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<!--子工程属性-->
<groupId>cn.codermk</groupId>
<artifactId>helloword</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!--子模块打包成jar-->
<packaging>jar</packaging>
<name>helloword</name>
<description>HelloWord第一个测试案例</description>
2. 编写一个controller
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello(String name){
return "你好啊:" + name;
}
}
3. 浏览器测试访问