品达通用权限系统-Day03

news2024/9/27 23:29:42

文章目录

  • 1. 概述
  • 2. lombok(编码效率工具)
    • 2.1 lombok 简介
    • 2.2 安装lombok插件
    • 2.3 lombok常用注解
    • 2.4 lombok入门案例
  • 3. Nacos(服务注册和配置中心)
  • 4. Redis(Windows版安装及使用)

1. 概述

本节主要讲述,lombok的功能简单使用,项目引入,以及项目所需要的中间件的安装,如:nacos,redis。

2. lombok(编码效率工具)

2.1 lombok 简介

lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。
例如:开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量。

lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法,使代码看起来更简洁。

lombok对应的maven坐标:

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
   <version>1.18.10</version>
</dependency>

2.2 安装lombok插件

要使用lombok需要在IDE中安装对应的lombok插件。本课程使用的开发工具为IntelliJ IDEA,安装插件过程如下:

1、打开IntelliJ IDEA后点击菜单栏中的File–>Settings进入到设置页面

2、点击设置页面中的Plugins进行插件的安装,在右侧选择Browse repositories…,然后在搜索页面输入lombok,可以查询到下方的Lombok Plugin,鼠标点击Lombok Plugin可在右侧看到Install按钮,点击该按钮便可安装

在这里插入图片描述

2.3 lombok常用注解

序号注解说明备注
1@Setter注解在类或属性,注解在类时为所有属性生成setter方法,注解在属性上时只为该属性生成setter方法
2@Getter使用方法同@Setter,区别在于生成的是getter方法
3@ToString注解在类,添加toString方法
4@EqualsAndHashCode注解在类,生成hashCode和equals方法
5@NoArgsConstructor注解在类,生成无参的构造方法常用
6@RequiredArgsConstructor注解在类,为类中需要特殊处理的属性生成构造方法,比如final和被@NonNull注解的属性
7@AllArgsConstructor注解在类,生成包含类中所有属性的构造方法常用
8@Data注解在类,生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法常用,包含:1,2,3,4
9@Slf4j注解在类,生成log变量,用于记录日志

2.4 lombok入门案例

第一步:创建maven工程lombok_demo并配置pom.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>cn.itcast</groupId>
    <artifactId>lombok_demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
    </dependencies>
</project>

第二步:创建User类并加入lombok提供的注解

package cn.itcast.entity;

import lombok.*;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {
    private int id;
    private String name;
    private int age;
}

第三步:创建测试类TestLombok

package cn.itcast;

import cn.itcast.entity.User;

public class TestLombok {
    public static void main(String[] args) {
        //无参构造方法
        User user1 = new User();

        /*
         setter方法
        */
        user1.setId(1);
        user1.setName("itcast");
        user1.setAge(18);

        /*
         getter方法
        */
        int id = user1.getId();
        String name = user1.getName();
        int age = user1.getAge();

        //带有所有参数的构造方法
        User user2 = new User(2,"itheima",20);

        //建造者模式
        User user3 = User.builder().id(3).name("boxuegu").age(22).build();

        /*
         toString方法
        */
        System.out.println(user1.toString());
        System.out.println(user2.toString());
        System.out.println(user3.toString());
    }
}

注:可以使用反编译工具查看生成的class文件内容

3. Nacos(服务注册和配置中心)

本项目使用Nacos来作为服务的注册和配置中心。Nacos是阿里巴巴开源的一款支持服务注册与发现,配置管理以及微服务管理的组件。用来取代以前常用的注册中心(zookeeper , eureka等等),以及配置中心(spring cloud config等等)。Nacos是集成了注册中心和配置中心的功能,做到了二合一。

安装和配置过程如下:

第1步:下载Nacos安装包,地址https://github.com/alibaba/nacos/releases/download/1.1.4/nacos-server-1.1.4.zip

第2步:将下载的zip压缩文件解压

第3步:修改配置文件:NACOS_HOME/conf/application.properties

在这里插入图片描述

# 修改范例如下:
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root

在这里插入图片描述

注意:Nacos在存储数据时既可以使用内置数据库存储,也可以通过第三方指定的数据库存储。我们上面指定了使用MySQL数据库来存储Nacos的相关数据,所以需要配置我们使用的MySQL数据库的数据源信息,这个可以根据自己的MySQL数据库进行相应调整,例如MySQL的地址、用户名、密码等。

第4步:创建数据库

CREATE DATABASE `nacos` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

第5步:执行NACOS_HOME/conf/nacos-mysql.sql数据库脚本文件,完成后可以看到创建了如下表

在这里插入图片描述

在这里插入图片描述

第6步:启动Nacos服务,双击NACOS_HOME/bin/startup.cmd

在这里插入图片描述

第7步:访问Nacos控制台,地址http://localhost:8848/nacos,默认用户名/密码:nacos/nacos

第8步:新建命名空间pinda-dev,描述:通用权限系统;对应的数据库表:tenant_info

在这里插入图片描述

在这里插入图片描述

注意,命名空间的id需要替换到项目文件pd-parent/pom.xml中对应的nacos命名空间的id:

在这里插入图片描述

第9步:导入配置文件,选择nacos配置中心的命名空间,点击导入配置按钮,选择文件:docs/nacos/nacos_config_export_2020-03-23 17_31_42.zip(改文件课件提供)。

在这里插入图片描述

导入完成后如下:

在这里插入图片描述

4. Redis(Windows版安装及使用)

在项目开发阶段我们使用windows版的Redis,直接解压授课资料中redis-win32-win64.zip压缩文件,然后双击REDIS_HOME/64bit/redis-server.exe启动Redis服务即可使用。实际生产部署的时候使用Linux版的Redis.

  • redis服务端:redis-win32-win64.zip

  • redis管理工具:redisredis-desktop-manager-0.8.8.384.exe

(1)安装:直接解压授课资料中redis-win32-win64.zip压缩文件到一个”非中文的目录下“即可;

(2)启动服务:双击REDIS_HOME/64bit/redis-server.exe启动Redis服务即可使用

在这里插入图片描述

在这里插入图片描述

redisredis-desktop-manager管理界面

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/695745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

同城上门送酒小程序 uniapp用户端+vue/php后端+商家端+配送端源码

前端uniapp 跨平台框架 后端php vue.js框架 php7.2 mysql数据库 mysql5.6 <template> <view> <view id"mainPage" :style"{height:MainPageHeightrpx}"> <PageHome v-show"showPageinitIndex" …

序列到序列学习

将最后时刻的隐藏状态传给解码器。特定的“”表示序列开始词元&#xff0c;表示开始翻译。将此次翻译的结果作为下一次的输入&#xff0c;并将隐藏状态传递给下一时刻。最后可以拿到整个语言句子的输出。 将编码器最后一次的隐藏状态与解码器的第一次的输入&#xff0c;放在一…

工具篇9--Window 虚拟机安装

文章目录 前言一、虚拟机是什么&#xff1f;二、虚拟机安装1.下载虚拟机软件&#xff1a;2.下载centos 系统镜像&#xff1a;3.虚拟机安装&#xff1a;3.1 关闭杀毒软件&#xff1a;3.2 重启后继续安装&#xff1a;3.3 修改vm 安装的位置&#xff1a;3.4 勾掉用户体验后下一步完…

PostgreSQL Log 日志模块详解

本文讲的是操作日志&#xff0c;非 WAL 日志。 文章目录 背景日志模块原理Syslogger 核心模块日志消息通信日志轮转问题一问题二问题三问题四问题五 存在的问题刷盘性能日志轮转 参考资料 背景 PG 的日志模块是一个相对独立的模块&#xff0c;主要功能就是打印用户的操作日志以…

【MATLAB第46期】基于MATLAB的改进模糊卷积神经网络IFCNN分类预测模型

【MATLAB第46期】基于MATLAB的改进模糊卷积神经网络IFCNN多分类预测模型 一、展示效果 二、思路 在正常CNN卷积神经网络训练阶段之后&#xff0c;使用进化算法&#xff08;蜜蜂算法&#xff09;拟合深度学习权重和偏差。 本文案例数据中&#xff0c; 用深度模型进行4分类预测…

vmware安装centos将home磁盘合并至root下

使用vmware安装centos后&#xff0c;发现分的盘60G&#xff0c;其中有17G分到了home盘&#xff0c;现在想只用一个盘进行统一管理&#xff0c;于是将home盘删除掉&#xff0c;再合并到root盘下&#xff0c;这里是直接删除掉home,没有备份数据&#xff0c;步骤如下&#xff1a; …

时间表R(t) 和 学习曲线learning curve

import numpy as np import matplotlib.pyplot as plt# 设置参数 a1 2 a2 0.1 a3 0.1 a4 1 T 10# 生成曲线数据 t np.linspace(0, 20, 1000) y np.exp(-a2 * t**a1) a3 * (t / T)**a4# 绘制曲线 plt.plot(t, y) plt.xlabel(t) plt.ylabel(R(t)) plt.title(Evolution of…

亚马逊云科技发起“可持续发展伙伴计划” ,实现降本增效、安全合规的上云价值

6月27日&#xff0c;“2023亚马逊云科技中国峰会”在上海世博中心盛大启幕&#xff01; 在与全球客户的交流中&#xff0c;亚马逊云科技发现很多企业都在三个方面不断创建未雨绸缪&#xff1a;首先&#xff0c;降本增效&#xff1b;其次&#xff0c;保证业务安全合规&#xff…

vscode如何创建自定义快捷键模板(typescript React示例)

1.vs面板左下角设置-配置用户代码片段 2. 弹出搜索框中输入typescript会出来2个选项&#xff0c;选择第二个react 3.在代码片段中添加自己的快捷键设置片段&#xff08;用$TM_FILENAME_BASE$1可以获取当前文件的名称&#xff09; {// Place your snippets for typescriptreact…

python基础案例题(进制转换、字符串加密的实现、猜拳游戏、多种方法计算π)

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 环境使用: Python 3.8 Pycharm 专业版 1.进制转换 功能&#xff1a;获取十进制整数的二进制串&#xff0c;相当于内置函数bin。 算法分析&#xff1a; 对2辗转相除&#xff0c;直到商为0 每次所得余数逆序即可 流程图…

playerdemo开源项目win运行详细配置

playerdemo开源项目win运行详细配置 在项目同目录建立文件夹lib 一、下载ffmpeg 下载32位的ffmpeg&#xff0c;放在lib/ffmpeg路径下 二、下载sdl2 下载sdl2也放在 lib/sdl2路径下 三、配置 .pro文件 win32 { LIBS -L$$PWD/lib/SDL2/lib/x86 \-L$$PWD/lib/ffmpeg-4.2.…

springboot增加logback日志记录ip

1、增加logback配置文件&#xff1a; public class IPLogConfig extends ClassicConverter {Overridepublic String convert(ILoggingEvent event) {RequestAttributes requestAttributes RequestContextHolder.getRequestAttributes();if (requestAttributes null) {return…

could not read ok from ADB Server

ADB不能连接&#xff1a; D:\adb\platform-tools>adb.exe devices * daemon not running; starting now at tcp:5037 could not read ok from ADB Server * failed to start daemon adb.exe: failed to check server version: cannot connect to daemon关闭防火墙可以解决。…

星辰秘典:揭示Python项目的宇宙奥秘——宇宙星空模拟器

✨博主&#xff1a;命运之光 &#x1f338;专栏&#xff1a;Python星辰秘典 &#x1f433;专栏&#xff1a;web开发&#xff08;html css js&#xff09; ❤️专栏&#xff1a;Java经典程序设计 ☀️博主的其他文章&#xff1a;点击进入博主的主页 前言&#xff1a;你好&#x…

Unity | HDRP高清渲染管线学习笔记:Post-processing后处理效果

目录 一、后处理效果顺序 二、16个后处理效果 1. Tonemapping&#xff08;色调映射&#xff09; 2.White Balance&#xff08;白平衡&#xff09; 3. Bloom&#xff08;泛光&#xff09; 3.1 Quality 3.2 Bloom 3.2.1 Threshold&#xff08;临界值&#xff09; 3.2.2 I…

为什么 Java 是我心中的 TOP 1

博主介绍&#xff1a; ✌博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家✌ Java知识图谱点击链接&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; &#x1f495;&#x1f495; 感兴趣的同学可以收…

10张读书笔记思维导图|让你告别书荒

又到了2023年下半年了&#xff0c;很多朋友又开始计划新一轮的读书计划&#xff0c;可是不知道读什么&#xff1f;也不知道怎么读&#xff1f; 今天小P就给大家分享30张思维导图读书笔记&#xff0c;让你在读书之前先了解书里讲了什么&#xff1f;帮你快速筛选自己喜欢的且有用…

47从零开始学Java之详解final修饰符、常量、常量方法与常量类

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 前言 壹哥之前跟大家说过&#xff0c;在面向对象中&#xff0c;有abstract、static和final 这3个核心修饰符…

使用XLSX.utils.sheet_to_json()解析excel,给空的单元格赋值为空字符串

前言 今天用到XLSX来解析excel文件&#xff0c;调用XLSX.utils.sheet_to_json(worksheet)&#xff0c;发现如果单元格为空的话&#xff0c;解析出来的结果&#xff0c;就会缺少相应的key&#xff08;如图所示&#xff09;。但是我想要单元格为空的话&#xff0c;值就默认给空字…

BUUCTF刷题之路--ez_pz_hackover_20161

检查开启的保护&#xff1a; 32位程序&#xff0c;没有开启保护。看到这大概率猜到是可以利用shellcode。接着IDA查看下逻辑&#xff1a; 主函数&#xff1a; header函数&#xff1a; chall函数&#xff1a; 大致讲解下程序逻辑。首先会要求你输入一个名字。存入s这个缓冲区中。…