笔记

434 阅读4分钟

- 目录

  • SpringBoot项目使用 Redis 缓存
  • 本地项目关联远程仓库 分支冲突 解决
  • yum centos7 安装Tomcat
  • vm 虚拟机 Centos7 查看IP 网卡服务启动网络报错
  • mysql 刷新主键自增索引值
  • 对象转换JSON字符串出现的问题
  • SpringBoot整合druid时出现的问题
  • 解决idea中junit测试无法键盘录入(Scanner)
  • maven 错误提示(警告)
  • maven 配置阿里云仓库
  • jdk 下载路径
  • jar 包部署
  • MyBatis-Plus 分页配置类
  • centos 安装 jdk1.8

SpringBoot项目使用 Redis 缓存

首先需要导入两个依赖:

<!--SpringCache缓存框架-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!--redis作为缓存数据库-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

修改配置文件

redis:
  # 连接主机地址
  host: localhost
  # 端口号
  port: 6379
  #密码
  password: [你的redis密码]
  # 使用的数据库
  database: 0
cache:
  redis:
    # 设置过期时间半小时
    time-to-live: 1800000

cache 注解

1. @Cacheable(value="",key="",unless="")
作用:首先去缓存中拿取数据,若缓存中没有,执行方法获取数据,再将数据存入缓存
常用属性:value      -- 代表同一类型的标志
         key        -- 存入redis的键名
         unless     -- 条件   "#result == null"   满足条件时不存储
2. @Cacheput()
作用:将返回值存入redis
3. @CacheEvict
作用:删除缓存中数据
删除多个 key 时通过Caching的 evict 参数传入多个@CacheEvict
@Caching(evict ={
   @CacheEvict(value = "StudentCache",key = "'list'",condition = "#result=='修改成功'"),
   @CacheEvict(value = "StudentCache",key = "#student.id",condition = "#result=='修改成功'")}
)

本地项目关联远程仓库 分支冲突 解决

两个分支版本不同

拉取
git pull origin master
允许不同,强制合并
git pull origin master --allow-unrelated-histories
git branch --set-upstream master origin/master

yum centos7 安装Tomcat

1. 安装tomcat

yum -y install tomcat

2. 查看是否安装成功

rpm -q tomcat

3. 配置环境变量

# 编辑profile文件
vim ../etc/profile
# 加入tomcat环境变量
CATALINA_BASE=/usr/share/tomcat
CATALINA_HOME=/usr/share/tomcat
export JAVA_HOME PATH CLASSPATH CATALINA_BASE CATALINA_HOME

4. 刷新配置文件

source /etc/profile

5. 开放8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

6. 开机启动tomcat

systemctl enable tomcat.service

7. tomcat管理包

yum install -y tomcat-webapps tomcat-admin-webapps 

8. 启动tomcat

# 启动tomcat
systemctl start tomcat
# 查看tomcat状态
systemctl status tomcat

vm 虚拟机 Centos7 查看IP 网卡服务启动网络报错

systemctl stop NetworkManager

systemctl disable NetworkManager

启动网卡服务:service network restart


mysql 刷新主键自增索引值

修改你需要的主键自增索引值

alter table [表名] auto_increment = [你希望的值]

对象转换JSON字符串出现的问题

错误信息:java.lang.IllegalArgumentException: not support type : class cn.fanzexin.reggie.util.R 以下为错误案例: image.png

需要引入alibaba 的fastjson

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>2.0.8</version>
</dependency>

正确示例:

image.png

image.png


SpringBoot整合druid时出现的问题

Cause: java.sql.SQLFeatureNotSupportedException ; null;

nested exception is java.sqlSQLFeatureNotSup

错误原因:druid的版本与mybatis版本不匹配,将druid切换为更高版本

image.png

image.png


解决ideajunit测试无法键盘录入(Scanner)

  1. 打开idea安装目录中bin目录下,找到 idea64.exe.vmoptions文件

image.png

  1. 打开在最后一行加入如下语句:
-Deditable.java.test.console=true 
  1. 除此之外,在C盘下也会生成配置文件,也需要进行修改:

    AppData为隐藏文件,如果找不到需要设置显示隐藏文件。

C:\Users\用户名\AppData\Roaming\JetBrains\IntelliJIdea2020.1

目录下也有一个idea64.exe.vmoptions文件,重复步骤 2


maven 错误提示(警告)

  • Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. bu

在pom.xml中加入以下内容:

<properties>
    <!--编译编码-->
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

maven 配置阿里云仓库

由于官方仓库速度比较慢,所以配置阿里云下载jar包会快很多

在本地maven的conf目录下有setting.xml配置文件,打开配置文件,找到 <mirrors> </mirrors> 在这之间加入以下配置:

<mirror>
    <id>alimaven</id>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    <mirrorOf>central</mirrorOf>        
</mirror>

jdk 下载路径

由于官方下载地址 需要验证登录,以下为华为源的下载地址

jdk下载路径(华为源) Index of java-local/jdk (huaweicloud.com)


jar 包部署

  • demo-0.0.1-SNAPSHOT.jar--------jar包名
  • demo.log-------日志文件
nohup java -jar demo-0.0.1-SNAPSHOT.jar > demo.log 2>&1 &

MyBatis-Plus 分页配置类

@Configuration
public class MyBatisPlusConfig {
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor(){
        MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
        mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
        return mybatisPlusInterceptor;
    }
}

分页操作

// 分页查找
@GetMapping("{currentPage}/{pageSize}")
public R getPage(@PathVariable int currentPage, @PathVariable int pageSize,Student student) {
    LambdaQueryWrapper<Student> queryWrapper = new LambdaQueryWrapper<>();
    queryWrapper.like(Strings.isNotEmpty(student.getName()),Student::getName,student.getName());
    queryWrapper.like(Strings.isNotEmpty(student.getAddress()),Student::getAddress,student.getAddress());
    IPage<Student> page = iStudentService.getPage(currentPage, pageSize,queryWrapper);
    // 当前页大于总页数,重新分页查询
    int pages = (int) page.getPages();
    if (currentPage> pages) {
        page = iStudentService.getPage((int)page.getPages(),pageSize,queryWrapper);
    }
    return new R(true, page);
}

centos 安装 jdk1.8

  1. 查询可安装版本

    yum list java*

  2. 安装

    yum install -y java-1.8.0-openjdk-devel.x86_64

  3. 查看版本

    java -version