SpringBoot入门

SpringBoot入门→SpringBoot进阶→SpringBoot微信点餐系统→SpringCloud微服务实战

Spring Boot应用开发流程

Spring应用开发流程:

配置环境 创建工程 构建目录结构 组件依赖管理 配置Web容器

设置组件参数 业务开发 测试与构建 手动部署 运维与监控

SpringBoot开发流程:

配置环境(只需要jdk)

Spring Initializr(一键生成Spring Boot 应用)

配置参数(可选)

业务开发

自动构建

自动部署

运维与监控

Maven构建Spring Boot应用

环境准备

  • 安装JDK8以上

  • idea

  • SpringBoot 目录结构

    /src/main 项目根目录
    /java java源代码目录
    /resources 资源目录
    /resources/static 静态资源目录
    /resources/templates 表示层页面目录
    /resources/application.properties Spring Boot配置文件
    /test 测试文件目录

    1. 完善目录结构

    • /resources/static
    • /resources/templates
    • resources/application.properties

2. 添加组件依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.8.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

3.创建Controller

java/com.myspringboot.controller/MyController.java

package com.myspringboot.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class MyController {
    @RequestMapping("/out")   //out方法与url中的out绑定在一起
    @ResponseBody   // 将return的内容原样输出到浏览器上
    public String out(){
        return "success";
    }
}

4.创建MySpringBootApplication

创建java/com.springboot/MySpringBootApplication.java

package com.myspringboot;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//说明这是一个SpringBoot应用的入口类
@SpringBootApplication
public class MySpringBootApplication {
    public static void main(String[] args) {
        //启动SpringBoot应用
        SpringApplication.run(MySpringBootApplication.class);
    }
}

打开localhost:8080/out 即可看到 success

Spring Initializr构建SpringBoot应用

自动生成配置

Spring Boot 入门类

  • 入口类命令通常以*Application结尾
  • 入口类上增加@SpringBootApplication注解
  • 利用SpringApplication.run()方法启动应用
package com.myspringboot;

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

@SpringBootApplication
public class MyspringbootApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyspringbootApplication.class, args);
    }

}

SprongBoot启动流程

加载配置文件→application.properties

​ ↓

自动装配:

ArtifactId 描述
spring-boot-starter-web 增加Web支持
spring-boot-starter-data-jpa 对JPA支持,继承Hibernate
spring-boot-starter-logging 增加logback日志的支持
spring-boot-starter-test 继承JUnit单元测试框架

​ ↓

加载组件→ @Repository|@Service|@Controller|@Component|@Entity

​ ↓

应用初始化

SpringBoot中的常用配置

配置名称 默认值 描述
server.port 8080 端口号
server.servlet.context-path / 设置应用上下文
logging.file 日志文件输出路径
logging.level info 最低日志输出级别
debug false 开启/关闭调试模式
spring.datasource.* 与数据库相关的设置

resources/application.properties

server.port=80
server.servlet.context-path=/myspringboot
logging.file=e:/myspringboot.log
#1.debug 2.info 3.warn 4.error 5.fatal
logging.level.root=info
#debug更底层的运行细节
debug=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=mjj666123

SpringBoot 支持两种配置文件

  • properties

  • yml(推荐使用)

    • 标准格式:key:(空格)value
    • 使用空格代表层级关系,以”:”结束
debug: true
logging:
  level: info
  file: e:/myspringboot.log
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: mjj666123

Spring Boot自定义配置项

环境配置文件(dev和prd)

  • Spring Boot 可针对不同的环境提供不同的Profile文件。

  • Profile文件的默认命名格式为application-{env}.yml

  • 使用spring.profiles.active选项来指定不同的profile

两种环境 一个是开发时用的(dev) 另一个是上线时候用的(prd)

application-dev.yml

debug: true
logging:
  level:
    root: info
  file: e:/myspringboot.log
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.driver
    url: jdbc:mysql://localhost:3306/test
    username: root
    password: mjj666123
mall:
  config:
    name: 知识商城
    description: 来这里收获知识
    hot-sales: 20
    show-advert: true

application-prd.yml

debug: false
logging:
  level:
    root: info
  file: /local/user/app-prd.log
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.driver
    url: jdbc:mysql://155.32.55.88:3307/prd
    username: root
    password: 3313@#!
mall:
  config:
    name: 知识商城prd
    description: 来这里收获知识
    hot-sales: 20
    show-advert: true
server:
  port: 80

打包与运行

  • 利用Maven的package命令,生成可独立运行的Jar包
  • 利用java -jar xxx.jar 命令运行启动Spring Boot应用
  • Jar包可自动加载同目录的application配置文件(方便修改配置,灵活发布)

javaweb     

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!