Java Springboot入门
文章目录
前言
Spring Boot是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。 本章将介绍Spring Boot,并熟悉基本概念。
什么是微服务?
微服务(Micro Service)是一种允许开发人员独立开发和部署服务的体系结构。每个运行的服务都有自己的流程,这实现了轻量级模型以支持业务应用程序。
优点
- 易于部署
- 简单的可扩展性
- 与容器兼容
- 最低配置
- 生产时间较短
Spring boot
Spring Boot为Java开发人员提供了一个很好的平台,可以开发一个可以运行的独立和生产级Spring应用程序。可以开始使用最少的配置,而无需进行整个Spring配置设置。
-
设计目的
: 用来简化 Spring 应用的初始搭建以及开发过程。 -
从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目所使用。它使用 “
习惯优于配置
”
的理念让你的项目快速运行起来。spring boot 其实不是什么新的框架,它默认配置了很多框架的使用
方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架。
优点
- 易于理解和开发Spring应用
- 提高生产力
- 缩短开发时间
自动配置
: 不需要再关注各个框架的整合配置, springboot全部已经配置好了起步依赖
: 我们在需要使用某个框架的时候, 直接添加这个框架的启动器依赖即可 , 不需要在关注
jar包的冲突和整合
选择Springboot的好处
- 它提供了一种灵活的方法来配置Java Bean,XML配置和数据库事务。
- 它提供强大的批处理和管理REST端点
- 在Spring Boot中,一切都是自动配置的; 无需手动配置。
- 它提供基于注释的spring应用程序。
- 简化依赖管理。
- 它包括嵌入式Servlet容器。
Spring boot工作方式
- Spring Boot会根据使用
@EnableAutoConfiguration
批注添加到项目中的依赖项自动配置应用程序。 - 例如:如果MySQL数据库在类路径上,但尚未配置任何数据库连接,则Spring Boot会自动配置内存数据库。
- springboot应用程序的入口点是包含
@SpringBootApplication
注释和main
方法的 - SpringBoot使用
@ComponentScan
注释自动扫描项目中包含的所有组件。
一、快速入门
利用Spring boot 搭建一个web工程,感受Spring boot的魅力所在!
- Springboott是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程
- 原生SpringMVC开发过程
1.1开发步骤
- 创建Maven工程
- 添加依赖
Springboot父工程依赖,web启动器依赖
- 编写启动引导类
Springboot项目运行的入口
- 编写处理器
- 启动项目
1.1.1创建工程
1.1.2添加依赖
SpringBoot可以帮我们方便的管理项目依赖 , 在Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标(不需要添加版本)即可!
- 添加父工程
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version><!--可自行根据自己的仓库2.0x以上的版本修改-->
</parent>
1.1.3添加web启动器
为了让Spring Boot帮我们完成各种自动配置,我们必须引入Spring Boot提供的自动配置依赖,我们称
为启动器。因为我们是web项目,这里我们引入web启动器,在 pom.xml 文件中加入如下依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.1.4配置JDK版本
<properties>
<java.version>1.8</java.version>
</properties>
1.1.5 完整pom.xml文件
1.2.1创建启动类
package cn.wolicode;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class,args);
}
}
1.2.2编写应用
package cn.wolicode.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class hello {
@RequestMapping("/hello")
public String hello(){
return "hello spring boot!!";
}
}
1.2.3启动测试
运行启动类的main方法:
通过输出的日志我们知道了以下信息 :
- 监听的端口是8080
- 知道项目的上下文路径
打开浏览器,访问:http://localhost:8080/hello
总结
- 为所有Spring boot开发提供一个更快更广泛的入门体验。
- 零配置。无冗余代码生成和XML 强制配置,遵循“
约定大于配置
” 。 - 集成了大量常用的第三方库的配置,Spring boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。
- 提供一系列大型项目常用的非功能性特征,如嵌入服务器等。