SpringBoot零散知识学习汇总——学习笔记

配置文件的位置

配置文件可以放四个位置

  • file: ./config/
  • file: ./
  • classpath: /config/ (classpath就是resources目录)
    • classpath: /
      优先级从上往下依次降低,即第四个优先级最低,这也是官方推荐使用的配置文件位置

多环境配置

  1. resources目录下实现多环境配置,例如resources下有application.properties、application-dev.properties、application-test.properties三个文件,默认使用application.properties。但是如果在application.properties中配置下面信息,则会使用application-dev.properties配置。
spring.profiles.active=dev

这样可以实现多环境切换,在生成环境、测试环境等来回改变。

  1. yml的多环境配置如下,配置全部写在application.yml一个文件中,默认使用8081端口
server:
  port: 8081

---
server:
  port: 8082
spring:
  profiles: dev

---
server:
  port: 8083
spring:
  profiles: test

多配置的切换如下,这样就能切换到dev配置使用8082端口

server:
  port: 8081
spring:
  profiles:
    active: dev
---
server:
  port: 8082
spring:
  profiles: dev

---
server:
  port: 8083
spring:
  profiles: test

thymeleaf模板引擎

<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring5</artifactId>
</dependency>

<dependency>
    <groupId>org.thymeleaf.extras</groupId>
    <artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>

html页面,主要是顶部要添加xmlns字段

<!DOCTYPE html>
<html lang="en" xmlns:th="http://wwww.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>test test</h1>
<div th:text="${msg}"></div>
</body>
</html>

整合JDBC使用

package com.meng.controller;

import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * @author Administrator
 */
@RestController
public class JdbcController {
   

    @Autowired
    JdbcTemplate jdbcTemplate;

    @GetMapping("/articleList")
    public List<Map<String,Object>> articleList(){
   
        String sql="SELECT * FROM `article`";
        List<Map<String,Object>> maps=jdbcTemplate.queryForList(sql);
        return maps;
    }

    @GetMapping("/addArticle")
    public String addArticle(){
   
        String sql="INSERT INTO article(id,title,author) VALUES(3,'春','朱自清')";
        jdbcTemplate.update(sql);
        return "添加成功!";
    }

    @GetMapping("/deleteArticle")
    public String deleteArticle(){
   
        String sql="DELETE FROM article WHERE id=3";
        jdbcTemplate.update(sql);
        return "删除成功!";
    }

    @GetMapping("/updateArticle/{id}")
    public String updateArticle( @PathVariable("id") Integer id){
   
        String sql="UPDATE article SET author=? WHERE id="+id;
        Object[] objects = new Object[1];
        objects[0]="朱自清";
        jdbcTemplate.update(sql,objects);
        return "修改成功!";
    }
}

整合Druid数据源

阿里巴巴提供的数据源

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.1.23</version>
</dependency>
spring:
  datasource:
    url: jdbc:mysql://120.26.142.247/down_up?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource


    filters: stat #属性类型的字符串,通过别名的方式配置扩展插件, 监控统计用的stat 日志用log4j 防御sql注入:wall
    initialSize: 2 #初始化时池中建立的物理连接个数。
    maxp-active: 300 #最大的可活跃的连接池数量
    maxWait: 60000 #获取连接时最大等待时间,单位毫秒,超过连接就会失效。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降, 如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
    timeBetweenEvictionRunsMillis: 60000 #连接回收器的运行周期时间,时间到了清理池中空闲的连接,testWhileIdle根据这个判断
    minEvictableIdleTimeMillis: 300000    

添加依赖后,在yml中加入type字段

添加配置文件,config文件下添加DruidController.java

package com.meng.config;

import com.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值