SpringBoot之Hibernate-Validator数据校验
SpringBoot之Hibernate-Validator数据校验SpringBoot之Hibernate-Validator数据校验。验证数据是贯穿所有应用程序层(从表示层到持久层)的常见任务。通常在每个层中实现相同的验证逻辑,这是耗时且容易出错的。为了避免重复这些验证,开发人员通常将验证逻辑直接绑定到域模型中,用验证代码将域类弄乱,而验证代码实际上是关于类本身的元数据。官方参考文档:点我跳转
1.新版本的SpringBoot需要手动引入依赖,这里以SpringBoot2.6.7为例子引入,在pom.xml中
12345<!--Hibernate-Validator 数据校验--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId></dependency>
2.在实体类中使用,给字段加上Hibernate-V ...
docker-openvpn 搭建私人网络
在docker容器中搭建私人openv*n,源自:github传送门
文件路径~/
1mkdir openvpn
在openvpn目录下docker-compose.yml文件
文件路径~/openvpn/docker-compose.yml
123456789101112version: '2'services: openvpn: image: kylemanna/openvpn:2.4 container_name: openvpn67 ports: - "67:1194/udp" #1194端口映射到公网的67端口 restart: always volumes: - ./openvpn-data:/etc/openvpn cap_add: - NET_ADMIN
文件路径~/openvpn/
12# 在openvpn目录下创建文件夹openvpn-datamkdir openvpn-data
配置容器
在文件路径~/openvpn/下运行
1dock ...
Sprint Boot解决跨越问题及谷歌浏览器关闭同源策略
Sprint Boot解决跨越问题及谷歌浏览器关闭同源策略在项目前后端分离的情况下,经常会遇到跨域问题,跨域他是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全措施。
如果你的后端是基于Java的Sprint Boot项目你可以使用下面的方法。需要注意的是Sprint Boot的版本不同,配置也会略有差异。
在Sprint Boot中配置跨域过滤器Sprint boot2.6.7处理跨域配置如下。
1234567891011121314151617181920212223242526272829303132333435package com.yong.demo.signproduct.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.cors.CorsConfiguration;import org.springframew ...
Docker时区不统一问题
Docker时区不统一问题前言
前断时间把我的一个小项目部署至服务器的Docker容器里,运行发现项目中获取的时间与正确的时间相差了8个小时,这是因为时区不统一的问题。
在DockerFile中添加以下命令,统一时区:
12RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo "Asia/Shanghai" > /etc/timezone
完美解决问题。
Node.js版本管理工具
Node.js版本管理工具前言
今天在运行之前公司的一个基于Vue3的前端项目跑不起来了,
报错如下:
1Module build failed: Error: Node Sass does not yet support your current environment: OS X 64-bit with Unsupported runtime (93)
意思大概是sass不支持当前环境。
排查得知原因是node版本太高了,我现在用的版本是16,而项目的版本环境是12,node-sass的环境是4.14.1。
从网上找到一个解决方案是降级node版本。这里介绍两种管理工具。
N版本管理工具第一种使用n管理工具,NVM是一个node.js的版本管理工具,可以在电脑上切换不同的node版本来满足项目需求。
n是node的一个模块。
全局安装1npm install -g n
使用可以直接在命令行输入n,会出现如下场景,此处列举着已安装的node版本,可以使用:
上下方向键切换选中
回车确认切换版本
q键退出
d键删除
n 常用命令123456n ls // 展示当前安装的所有版本 ...
在Linux上配置DNS主域名服务器和辅助域名服务器
完成一份综合设计实验,注册域名为hufe.edu.cn,网段为192.168.5.*,配置一个主域名服务器和一个辅助域名服务器(需要两台linux虚拟机),ip地址分别为192.168.5.学号和192.168.5.学号+100,主机名分别为dns.hufe.edu.cn和seconddns.hufe.edu.cn,需要解析的服务器有:www.hufe.edu.cn(ip地址为192.168.5.学号),ftp.hufe.edu.cn(ip地址为192.168.5.学号+100),mail.hufe.edu.cn(ip地址为192.168.5.200),完成配置并采用host命令测试正确解析,通过第三台计算机(虚拟机中的windows系统计算机或宿主计算机)将其主、辅域名服务设置为DNS服务器,在dos下测试相关域名或IP解析。完成实验并参照实验一将实验过程、步骤、命令、相关配置文件的参数,实验测试的结果截图完成实验报告。
配置主域名服务器在第一台虚拟机中进行如下操作:DNS主服务器配置流程主要分为以下七步:
安装bind软件输入rpm -qa|grep bind 查看以及安装的软件没 ...
在react/react-Native集成redux全局状态管理器
概述redux是一个基于JavaScript状态容器,他可以进行全局状态管理。与(Vuex类似)。
随着JavaScript单页面开发日益复杂,Javascript需要管理更多的state状态,这些state可能包括服务器响应,数据缓存,本地生成未持久化到服务器的数据,也包括ui状态等等。
管理不断变化的state非常麻烦,如果一个model的变化需要引起另外的model的变化,那么当View发生变化时,就可能引起对应的model以及另一个model的变化,依次引起其他的View的变化,所哟逻辑处理会比较混乱,用Redux就是为了解决这个问题的。Redux可以进行全局状态管理。
redux组成state一个应用会有许多state或者说有各种状态,整个应用的state都被保存在一个object tree中,object只存在唯一的一个store。
action修改state需要action来触发,这样确保了(View)视图和网络请求不能直接修改state。他们只能表达想要修改的意图,所有的修改都会被集中化处理。一个一个的执行。
reducers为了描述action如何改变state,需要 ...
sprint boot发送邮件
在Sprint boot上集成一个简单的发送邮件的功能
在pom.xml 加入以下配置
123456<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency></dependencies>
在 application.yml文件
1234567891011121314151617181920212223242526272829spring: #邮箱 mail: protocol: smtps # 配置 SMTP 服务器地址 # 我这里是阿里邮箱 host: smtp.qiye.aliyun.com # 发送者邮箱 username: tangyong@tangyongyong.cn # 配置密码 #这里是授权码,阿里邮 ...
React Native 开发环境搭建
搭建react native 开发环境前言:以前在公司实习的时候搭建过react native的开发环境,并且创建了项目,做过一个小项目,今天心血来潮,突发奇想又想搭建一个项目练练手,结果出现了各种问题…所以来记录一下。
环境搭建官方文档移步:https://reactnative.cn/
开发平台 macOS
目标平台ios
安装依赖需要安装的依赖有:Node、Watchman、Xcode 和 CocoaPods。
创建新项目安装上面依赖后,使用内建命令来创建一个名为rnDemo的项目。
1npx react-native init rnDemo
遇到的第一个问题node依赖问题:创建最新版本的 react-native 需要node版本大于14.0,以前在公司我一直用的都是12.0,升级后成功解决
1)使用npm 安装n模块管理工具
12### n模块是专门用来管理node.js版本sudo npm install -g n
2)升级最新的稳定版本
12### 提示:n stable是升级稳定版本 n latest是升级至最新版本sudo n stable
遇到的第二个问题项 ...
VMware虚拟机双系统安装XP+Linux red hat 5
VMware虚拟机双系统安装XP+Linux(red hat 5)老师布置的作业,过来记录一下题目:Vmware软件安装windows xp系统并存的red hat linux系统双系统。要求在window下分区,采用1P+1E分区方式,硬盘为60G,分为C(10G)、D(10G)、E(20G)、F(20G),linux系统安装在E盘,在grub中设置默认启动系统windows xp.将实验的步骤图文并茂详细写入实验报告中并提交。
1.添加虚拟机选择默认典型模式添加虚拟机选择稍后安装操作系统选择WindowXP操作系统命名虚拟机名称与位置设定磁盘的大小,建议大小为40GB,我这里设定了60GB。这样我们的一个虚拟机的创建好了。
2.设置虚拟机的映像文件我们右键选择我们刚创建好的虚拟机,点击设置 来到虚拟机设置窗口,硬件-设备-CD/DVD选中设置我们的WIndows XP 映射文件。确认后就可以启动我们的虚拟机了。
3.安装Window XP系统接下来我们启动虚拟机,来进行安装系统。虚拟机启动后来到ghost界面,首先要进行磁盘分区。我们选择第(5)PM 8.05图形化 ...