SpringBoot入门

一、前置知识

1.具有一定的JavaWeb应用开发经验

2.具有Spring与SpringMVC的使用经验

二、SpringBoot介绍

1.什么是SpringBoot

让Spring应用开发变得"简单粗暴"

2.开发流程

2.1 Spring应用开发流程

2.2 SpringBoot应用开发流程

3.SpringBoot核心特性

 

三、Maven构建SpringBoot应用

1.环境准备

JDK8以上版本

IDEA旗舰版

2.SpringBoot目录结构

2.1 创建目录结构

resources中的3个文件夹或文件需要自己创建。

静态资源:图片,css,js·····

templates:保存页面文件,比如web中的html、jsp·····

Springboot核心配置文件:application.properties.里面编写springboot相关的全部配置信息.

2.2 定义组件依赖

修改pom.xml文件

spring-boot-starter-parent帮我们自动引入了springboot中最基础的组件.所有springboot都要依赖于它才能进行构建.

springboot还使用了一系列启动器来描述工程所要支持的功能.例如web表示支持javaweb.因为在parent中已经制定了版本号,所以在依赖中的版本号就可以不用写了.

build配置项目打包方式

spring-boot-maven-plugin帮助我们在打包时自动将所有的类和资源整合成一个独立的可运行的jar包

所有内容配置好后,会自动下载依赖

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project xmlns="http://maven.apache.org/POM/4.0.0"
 3          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 5     <modelVersion>4.0.0</modelVersion>
 6 
 7     <groupId>com.jiang</groupId>
 8     <artifactId>myspringboot</artifactId>
 9     <version>1.0-SNAPSHOT</version>
10 
11     <name>myspringboot</name>
12     <description>Demo project for Spring Boot</description>
13 
14     <parent>
15         <groupId>org.springframework.boot</groupId>
16         <artifactId>spring-boot-starter-parent</artifactId>
17         <version>2.0.1.RELEASE</version>
18         <relativePath/> <!-- lookup parent from repository -->
19     </parent>
20 
21     <properties>
22         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
23         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
24         <java.version>1.8</java.version>
25     </properties>
26 
27     <dependencies>
28         <dependency>
29             <groupId>org.springframework.boot</groupId>
30             <artifactId>spring-boot-starter-web</artifactId>
31         </dependency>
32     </dependencies>
33 
34     <build>
35         <plugins>
36             <plugin>
37                 <groupId>org.springframework.boot</groupId>
38                 <artifactId>spring-boot-maven-plugin</artifactId>
39             </plugin>
40         </plugins>
41     </build>
42 </project>
View Code

引入的jar中可以看到,底层引用了Spring核心包和一些springboot的starter启动器,每一个启动器都对应了一个明确的功能.

tomcat启动器将tomcat内嵌到项目中,项目启动时,tomcat随之启动

logging启动器提供日志支持

json启动器提供json序列化与反序列化功能的支持

以后开发时可以通过引入对应的starter包就可以提供相应的功能.

2.3利用spring mvc学到的知识进行项目开发准备

java目录中新建一个包,包中新建controller类

 1 package com.jiang.myspringboot.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.ResponseBody;
 6 
 7 /**
 8  * @Description:
 9  * @Author: Jiang yuting
10  * @Date: 2020/5/7 15:16
11  */
12 //@Controller 表示当前类是一个mvc的控制器
13 @Controller
14 public class MyController {
15     //下面两个注解将/out路径和out方法绑定
16     @RequestMapping("/out")
17     //将return后的字符串原样输出到客户端的浏览器上
18     @ResponseBody
19     public String out(){
20         return "success";
21     }
22 }
View Code

3.SpringBoot入口类

一般类命名:工程名+application

1)入口类增加注解:说明这是一个SpringBoot应用的入口类

2)编写main方法

package com.jiang.myspringboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @Description: 入口类
 * @Author: Jiang yuting
 * @Date: 2020/5/7 20:43
 */
//说明这是一个SpringBoot应用的入口类
@SpringBootApplication
public class MySpringBootApplication {
    public static void main(String[] args) {
        //启动SpringBoot应用
        SpringApplication.run(MySpringBootApplication.class, args);
    }
}

启动成功后控制台如下图

在浏览器中输入localhost:8080/out来验证程序是否真正启动成功(tomcat默认端口8080)

看到返回的success表示启动成功

四、Spring Initializr构建SpringBoot应用

利用Maven创建SpringBoot应用太麻烦了,在idea中提供了一个向导工具Spring Initializr,可以让我们一键生成SpringBoot工程.

新建工程→Spring Initializr

 

 选择启动器

 

 新建一个controller目录及controller类

 1 package com.jiang.myspringboot.controller;
 2 
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5 import org.springframework.web.bind.annotation.ResponseBody;
 6 
 7 /**
 8  * @Description:
 9  * @Author: Jiang yuting
10  * @Date: 2020/5/7 21:12
11  */
12 @Controller
13 public class MyController {
14     @RequestMapping("/out")
15     @ResponseBody
16     public String out(){
17         return "myspringboot ok~~";
18     }
19 }
View Code

启动

1.SpringBoot启动流程

2.SpringBoot中的常用配置

 设置端口

 

设置应用上下文

区分不同应用中的相同路径

  设置日志相关

 设置debug

为true时,将级别自动设置为debug级别

设置jdbc

(jdbc启动类,连接的数据库地址,用户名,密码)

3.SpringBoot支持两种配置文件

 yml格式更易于管理

 1 debug: true
 2 #logging.level.root
 3 #logging.file
 4 logging:
 5  level:
 6   root: info
 7  file: e:/myspringboot.log
 8 
 9 spring:
10   datasource:
11     driver-class-name: com.mysql.jdbc.Driver
12     url: jdbc:mysql://localhost:3306/test
13     username: root
14     password: 123456
15 mall:
16  config:
17   name: 爱美商城
18   description: 这是一家化妆品特卖网站
19   hot-sales: 20
20   show-advert: true
View Code

 1 package com.imooc.myspringboot.controller;
 2 
 3 import org.springframework.beans.factory.annotation.Value;
 4 import org.springframework.stereotype.Controller;
 5 import org.springframework.web.bind.annotation.RequestMapping;
 6 import org.springframework.web.bind.annotation.ResponseBody;
 7 
 8 @Controller
 9 public class MyController {
10     @Value("${mall.config.name}")
11     private String name;
12     @Value("${mall.config.description}")
13     private String description;
14     @Value("${mall.config.hot-sales}")
15     private Integer hotSales;
16     @Value("${mall.config.show-advert}")
17     private Boolean showAdvert;
18 
19     @RequestMapping("/out")
20     @ResponseBody
21     public String out(){
22         return "success";
23     }
24 
25     @RequestMapping("/info")
26     @ResponseBody
27     public String info(){
28         return String.format("name:%s,description:%s,hot-sales:%s,show-advert:%s",
29                 name,description,hotSales,showAdvert);
30     }
31 }
View Code

4.YAML的语法

5.SpringBoot自定义配置项

6.环境配置文件

 主配置文件中指定使用哪个环境

spring:
  profiles:
    active: prd

7.打包与运行

 

 

 

 

 点击ok后,下拉列表多了一个package选项

选中它,按绿色三角运行,看到build success表示运行成功

同时,新生成的jar包保存在target目录下

在命令行中使用java -jar运行

 

 运行后可以在控制台看到

端口号为80,开发环境

如果想切换到生产环境,只要将所有的application yml文件复制到与jar包同级的目录下即可,jar就会自动优先读取这些文件.

总结

posted @ 2020-05-11 11:06  阿江是个程序猿  阅读(332)  评论(0编辑  收藏  举报