Spring Boot2篇 - 一、Spring Boot 入门(Hello World)
一、Spring Boot 入门(Hello World)
1.1 回顾Spring
- Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson
- Spring是为了解决企业级应用开发的复杂性而创建的,简化开发
Spring是如何简化Java开发的
- 基于POJO的轻量级和最小侵入性编程,所有东西都是bean;
- 通过IOC,依赖注入(DI)和面向接口实现松耦合;
- 基于切面(AOP)和惯例进行声明式编程;
- 通过切面和模版减少样式代码,RedisTemplate,xxxTemplate;
1.2 Spring Boot 简介
简化Spring应用开发的一个框架;
整个Spring技术栈的一个大整合;
J2EE开发的一站式解决方案;
1.3 微服务简介
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过HTTP的方式进行互通;
单体应用:ALL IN ONE
微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元;
1.4 Spring Boot 优点与缺点
1.4.1 优点
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技术栈的一站式框架
SpringBoot是简化Spring技术栈的快速开发脚手架
SptingBoot的核心思想:约定大于配置
1.4.2 缺点
- 人称版本帝,迭代快,需要时刻关注变化
- 封装太深,内部原理复杂,不容易精通
1.5 Spring Boot HelloWorld
一个功能: 浏览器发送hello请求,服务器接受请求并处理,响应Hello World字符串
1.5.1 方式一:创建普通Maven项目
创建maven时不需要勾选任何模板
1.5.1.1 导入spring boot相关的依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.5.1.2 编写一个主程序;启动Spring Boot应用
/**
* @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloWorldMainApplication {
public static void main(String[] args) {
// Spring应用启动起来
SpringApplication.run(HelloWorldMainApplication.class,args);
}
}
1.5.1.3 编写相关的Controller、Service
/**
* @author cVzhanshi
* @create 2021-06-08 17:38
*/
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World!";
}
}
1.5.1.4 测试主程序
1.5.1.5 简化部署
<!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
演示:
直接运行jar包
1.5.2 方式二: 使用Spring Initializr 的 Web页面创建项目
- 打开 https://start.spring.io/
- 填写项目信息
- 点击”Generate Project“按钮生成项目;下载此项目
- 解压项目包,并用IDEA以Maven项目导入,一路下一步即可,直到项目导入完毕。
- 如果是第一次使用,可能速度会比较慢,包比较多、需要耐心等待一切就绪
1.5.3 方式三(常用):通过IDEA集成的Spring Initializr创建项目
1.5.3.1 创建项目
- new project —> Spring Initializr
- 按操作提示进行下一步
项目结构分析:
通过上面步骤完成了基础项目的创建。就会自动生成以下文件。
1、程序的主启动类
2、一个 application.properties 配置文件
3、一个 测试类
4、一个 pom.xml
1.5.3.1 编写相关controller
- 在主程序的同级目录下,新建一个controller包,一定要在同级目录下,否则识别不到
在包中新建一个HelloWorldController类
/**
- @author cVzhanshi
- @create 2021-06-10 14:20
*/
@Controller
@RequestMapping(“/hello”)
public class HelloWorldController {
@GetMapping("/hello")
@ResponseBody
public String hello(){
return "Hello World";
}
}
1.5.3.2 运行测试
编写完毕后,从主程序启动项目,浏览器发起请求,看页面返回;控制台输出了 Tomcat 访问的端口号!
其中简化部署和maven相同
1.5.3.3 修改端口号和修改banner
- 修改端口号
只需要在application.properties配置文件中修改就行
#修改端口号
server.port=8081
- 修改banner
banner时运行spring boot时出现的一个图案
修改过程
- 此地址自定义banner
复制生成的内容,在application.properties配置文件同级目录下创建banner.txt,把内容复制进去就行
██ ██ ██
░██ ░██ ░░
█████ ██ ██ ██████░██ ██████ ███████ ██████░██ ██
██░░░██░██ ░██░░░░██ ░██████ ░░░░░░██ ░░██░░░██ ██░░░░ ░██████ ░██
░██ ░░ ░░██ ░██ ██ ░██░░░██ ███████ ░██ ░██░░█████ ░██░░░██░██
░██ ██ ░░████ ██ ░██ ░██ ██░░░░██ ░██ ░██ ░░░░░██░██ ░██░██
░░█████ ░░██ ██████░██ ░██░░████████ ███ ░██ ██████ ░██ ░██░██
░░░░░ ░░ ░░░░░░ ░░ ░░ ░░░░░░░░ ░░░ ░░ ░░░░░░ ░░ ░░ ░░
还没有评论,来说两句吧...