zoukankan      html  css  js  c++  java
  • 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就会自动优先读取这些文件.

    总结

  • 相关阅读:
    C#生成指定范围内的不重复随机数
    jquery移除元素某个属性
    让html里的js脚本延迟5秒运行
    jquery刷新局部和全页的方法
    jquery旋转插件rotate参数说明
    按照日期生成编号
    ajax请求成功后如何调用bootstrap modal?
    WPF MVVM模式不用Prism
    C#去掉字符串两端空格以及去掉字符串中多余空格保留一个空格
    依赖项属性
  • 原文地址:https://www.cnblogs.com/superjishere/p/12867825.html
Copyright © 2011-2022 走看看