SpringBoot的浅浅配置和小整合

本文如题,就是浅浅记录一下学习的过程中一些过程,比较简单,并没有多少深度。谢谢!

SpringBoot创建

  1. 从IDEA中新建项目或者模块。注意jdk版本,一般不超过你的环境jdk。

  2. 选择要加载的依赖项。

SpringBoot的配置文件

  1. SpringBoot的配置文件可以用

    • application.properties
    • application.yml
    • application.yaml

    具体配置属性可以到https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html#application-properties查看。

  2. 三种配置有优先关系,从.properties, .yml, .yaml优先关系递减。但是又是互相层叠的。

    可以稍微举个例子。比如:三个文件都配置了端口号,那生效的就是按照优先级来的。但是三个文件都配置了独有的配置,那这三个配置都会生效。

  3. 我们一般使用的是.yml,比较方便简单。可以看看具体的配置例子。

    spring:
    datasource:
    druid:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=GMT%2B8&useSSL=false
    username: root
    password: root
  4. 在配置文件中也可以使用属性名引用方式引用属性

    baseDir: /usr/local/fire
    center:
    dataDir: ${baseDir}/data
    tmpDir: ${baseDir}/tmp
    logDir: ${baseDir}/log
    msgDir: ${baseDir}/msgDir
  5. 我们可以使用@Value注解配合SpEL读取单个数据,如果数据存在多层级,依次书写层级名称即可。

  6. 但是需要整体读取上面的enterprise,就可以用@ConfigurationProperties这个注解

    • 新建一个类来封装数据。
    @ConfigurationProperties(prefix = "enterprise")
    public class Enterprise {
    private String name;
    private Integer age;
    private String[] subject;
    }
    • 再通过自动装配,这样就好了。

      @Autowired
      private Enterprise enterprise;

SpringBoot的一些小型整合

  1. 整合Junit

    • 默认IDEA的test下就有,观察代码可以看到@SpringBootTest这个注解

    • 需要注意的是测试类如果存在于引导类所在包或子包中无需指定引导类

    • 测试类如果不存在于引导类所在的包或子包中需要通过classes属性指定引导类。

      @SpringBootTest(classes = Springboot03JunitApplication.class)
  2. 整合Mybatis以及Druid

    • 首先需要导入驱动和框架-

    • 然后配置属性,这里需要注意的是,由于导入的驱动是8.x高版本,之前我用的5.x都是不需要配置时区的,但这里需要配置时区。并且驱动也最好换成com.mysql.cj.jdbc.Driver,要不然会有一些小警告。

      spring:
      datasource:
      druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/ssm_db?serverTimezone=GMT%2B8&useSSL=false
      username: root
      password: root

后言

差不多水完了吧,后续可能要一段时间才能继续学习相关知识了。大概到暑假才能继续学习。

相关代码

CODE

SpringBoot的浅浅配置和小整合的更多相关文章

  1. 浅谈配置chrome浏览器允许跨域操作的方法

    浅谈配置chrome浏览器允许跨域操作的方法 一:(Lying人生感悟.可忽略) 最近有一天,对着镜子,发现满脸疲惫.脸色蜡黄.头发蓬松.眼神空洞,于是痛诉着说生活的不如意,工作没激情,工资不高,一个 ...

  2. springboot情操陶冶-web配置(四)

    承接前文springboot情操陶冶-web配置(三),本文将在DispatcherServlet应用的基础上谈下websocket的使用 websocket websocket的简单了解可见维基百科 ...

  3. springboot情操陶冶-web配置(九)

    承接前文springboot情操陶冶-web配置(八),本文在前文的基础上深入了解下WebSecurity类的运作逻辑 WebSecurityConfigurerAdapter 在剖析WebSecur ...

  4. springboot情操陶冶-web配置(七)

    参数校验通常是OpenApi必做的操作,其会对不合法的输入做统一的校验以防止恶意的请求.本文则对参数校验这方面作下简单的分析 spring.factories 读者应该对此文件加以深刻的印象,很多sp ...

  5. springboot情操陶冶-web配置(二)

    承接前文springboot情操陶冶-web配置(一),在分析mvc的配置之前先了解下其默认的错误界面是如何显示的 404界面 springboot有个比较有趣的配置server.error.whit ...

  6. springboot情操陶冶-web配置(三)

    承接前文springboot情操陶冶-web配置(二),本文将在前文的基础上分析下mvc的相关应用 MVC简单例子 直接编写一个Controller层的代码,返回格式为json package com ...

  7. springboot+ibatis 多数据源配置

    这个是boot基本版本包,因为我用的打包方式是war所以去除掉了boot内置的tomcat,但是为了方便测试又引入了内置tomcat,只要添加<scope>provided</sco ...

  8. SpringBoot进阶教程 | 第四篇:整合Mybatis实现多数据源

    这篇文章主要介绍,通过Spring Boot整合Mybatis后如何实现在一个工程中实现多数据源.同时可实现读写分离. 准备工作 环境: windows jdk 8 maven 3.0 IDEA 创建 ...

  9. springBoot日志框架自动配置与原理

    1.日志框架 小张:开发一个大型系统: ​ 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? ​ 2.框架来记录系统的一些运行时信息: ...

随机推荐

  1. 项目-MyBlog

    项目 地址:https://gitee.com/zwtgit/my-blog 由Docker + SpringBoot2.0 + Mybatis + thymeleaf 等技术实现, 功能齐全.部署简 ...

  2. Oracle临时表空间语句、作用

    在Oracle数据库中:一个表空间只属于一个数据库使用:而一个数据库可以拥有多个表空间.属于"一对多"的关系 我们对照着mysql来理解. 1.Oracle有表空间,mysql没有 ...

  3. Spring基于注解自动装配

    前面我们介绍Spring IoC装载的时候,使用XML配置这种方法来装配Bean,这种方法可以很直观的看到每个Bean的依赖,但缺点也很明显:写起来非常繁琐,每增加一个组件,就必须把新的Bean配置到 ...

  4. 2019-2020 10th BSUIR Open Programming Championship. Semifinal

    2019-2020 10th BSUIR Open Programming Championship. Semifinal GYM链接https://codeforces.com/gym/103637 ...

  5. JavaWeb学习day6-Response初学2(生成随机数验证码)

    1 public class imageServlet extends HttpServlet { 2 @Override 3 protected void doGet(HttpServletRequ ...

  6. 在vue项目中配置webpack

    首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同: Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录 从上图可以 ...

  7. Day 003:PAT练习--1041 考试座位号 (15 分)

    题目要求: 我写的代码如下: //考试座位号 #include<iostream> #include<algorithm> #include<string> usi ...

  8. Halo 开源项目学习(二):实体类与数据表

    基本介绍 Halo 项目中定义了一些实体类,用于存储博客中的关键数据,如用户信息.文章信息等.在深入学习 Halo 的设计理念与实现过程之前,不妨先学习一下一个完整的博客系统都由哪些元素组成. 实体类 ...

  9. C++ atomic 和 memory ordering 笔记

    如果不使用任何同步机制(例如 mutex 或 atomic),在多线程中读写同一个变量,那么,程序的结果是难以预料的.简单来说,编译器以及 CPU 的一些行为,会影响到程序的执行结果: 即使是简单的语 ...

  10. 通俗易懂的ArcGis开发快速入门

    前言 本文主要介绍ArcGis的ArcEngine开发,学习时,我们需要放下心里障碍,那就是Gis开发只是普通的软件开发,并不需要专业的GIS知识,就是非常普通的,调用相关的C++开发的COM组件. ...