- 博客(229)
- 资源 (6)
- 收藏
- 关注
原创 【springboot】自定义配置文件读取
方法一:@value@RestController@RequestMapping("/Hello")public class HelloController { @Value("${people.name}") private String name; @Value("${people.country}") private String country; @RequestMa...
2020-02-29 21:47:35 611
原创 【springboot】外部配置与多环境
springboot允许你外部化配置,这样你就可以工作在不同的环境中而保持代码不变。你可以使用properties文件,ylm文件,环境变量,命令行参数来外部化配置。你可以使用@value注解,spring的Enviroment类,或者结构化对象(@configurationProperties)来注入这些外部化属性值。外部配置:我的理解是在程序包之外的配置,也就是springboot打包成j...
2020-02-27 22:17:24 457
原创 【springboot】主配置文件加载顺序
springboot加载properties文件的优先级file:./config/ (当前项目路径config目录下)file:./ (当前项目路径下)classpath:/config/ (类路径config目录下)classpath:/ (类路径config下)对应下图中的1、2、3、4下面我们来验证:这四个properties文件都配置一个属性server.port=...
2020-02-26 21:05:20 1388
原创 Unicode和UTF-8区别
ASCII码一个ASCII码值占一个字节(8个二进制位),其最高位(b7)用作[奇偶校验位]奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。备注:48=‘0’ 65=‘A’ 97=‘a’Unicode码:它前128个字符就是ASCII码,之后是扩展码Unicode和U...
2019-12-31 12:24:24 269 1
原创 【Shior学习】subject和session
前一篇已经介绍过了shiroFilter(shiro的入口点,所有请求都会经该过滤器,然后找到对应的过滤器处理请求。)// AbstractShiroFilter.doFilterInternalprotected void doFilterInternal(ServletRequest servletRequest, ServletResponse servletResponse, fina...
2019-12-12 11:00:44 1044
原创 【Linux学习】使用crontab定期备份mysql数据库
首先查看 crontab是否安装crontab -l # 列出当前的定时任务表如果报 “command not found” ,就说明该crontab服务没有安装 如果报 “no crontab for ***” ,就说明已经安装crontab服务了, 不用再安装了定时任务表的格式如下:f1 f2 f3 f4 f5 program其中 f1 是表示分钟,f2 表示小时,f3 表示一...
2019-11-05 18:00:08 300
原创 【Linux学习】手动安装lsyncd
1创建普通用户首先创建普通用户commonuseradd common #创建普通用户passwd common #修改用户密码在根目录下创建/app和/file目录,/app专门用来存放软件,/file用来存放待同步的文件修改这两个文件夹的拥有者和所属组为common,方便普通用户部署。chown -R common:common /app /file #修改文件夹的拥有者和归属组...
2019-10-24 16:00:18 1490
原创 【Linux学习】lsyncd搭建
1 服务器建立ssh互信首先在两个服务器建立ssh互信,参考上篇文章。2 lsyncd安装yum install http://rpmfind.net/linux/epel/7/x86_64/Packages/l/lsyncd-2.2.2-1.el7.x86_64.rpm3 配置lsyncd.conf文件vi /etc/lsyncd.conf #修改配置文件settings { ...
2019-10-24 11:26:30 1438 1
原创 【Linux学习】Linux主机ssh互信
第一步,在本机使用RSA算法生成公钥私钥文件ssh-keygen -t rsa一路默认回车,系统会在当前用户主目录下生成公钥文件id_rsa.pub和私钥文件id_rsa。进入用户主目录,查看生成的文件2.将生成的公钥文件发送到目标服务器的用户主目录下。ssh-copy-id -i 本机公钥文件 目标服务器 #将本地公钥写到目标机器的 ~/ .ssh/authorized_ke...
2019-10-23 10:52:07 245
原创 【Linux学习】Linux磁盘挂载
首先使用df命令查看电脑硬盘信息df -h[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ihBS4NFX-1571745301899)(C:\Users\fengxiankai\AppData\Roaming\Typora\typora-user-images\1571737608910.png)]从上可以看出sda1分区挂载在/boot目录下使用lsbl...
2019-10-22 19:55:32 584
原创 【Linux学习】Linux包管理工具
下载命令 wgetwget是下载工具,支持HTTP、HTTPS、FTP协议,只能把文件从服务器下载到本地,并不执行安装。自动安装CentOS安装(包含下载)命令有 rpm和yum首先这两个命令操作的都是rpm文件,那么他们的区别是什么呢?rpm命令无法解决软件包的依赖关系。而yum恰好可以解决软件包之间的依赖关系,并自动安装。例如:如果a.rpm安装包不依赖于其他安装包,则使用rpm...
2019-10-21 20:27:36 121
原创 【Linux学习】进程和网络命令
进程查看ps 选项 #查看系统的进程常用参数: a:显示当前控制终端的进程 u:显示进程的用户名和启动时间等信息 x:显示没有控制终端的进程 e:显示所有的进程 -f:显示完整格式的输出 实例ps aux 等价于 ps -ef #查看所有的进程输出的含义: user:启动进程的用户名 PID:进程号 ...
2019-10-21 09:27:32 230
原创 【Linux学习】Linux文件管理
查看目录pwd #显示用户当前所处的目录cd 目录名 #改变当前所处的目录列出文件或子目录的信息ls 选项 路径或文件名 #列出文件或子目录的信息参数 -a :显示所有的文件,包括以“.”开头的文件(即隐含文件) -l :以长格式显示文件或子目录的信息。 -i :显示文件的索引号 linux系统用颜色来区分文件类别。蓝色代表目录,绿色...
2019-10-17 21:59:44 253
原创 【Linux学习】Linux用户管理
1 用户管理创建用户useradd 选项 用户名选项: -c comment:指定一段注释行描述 -d 目录: 指定用户主目录,如果此目录不存在,则同时使用-m选项 ,创建主目录 -g 用户组 :指定用户所属的用户组 -s Shell文件:指定用户的登陆Shell 用户名:指定新账号的登录名。实例:useradd -d /app...
2019-10-17 15:51:57 125
原创 【Shiro学习】ShiroFilterFactoryBean源码分析
通过前两节的学习,我们知道shiroFilter会使用FilterChainManager来代理过滤器链,从而先执行shiro的过滤器链,然后再执行原过滤器链。平时我们都是如何使用shiro的登陆验证,权限验证的?配置shiro过滤器下面的代码是不是很熟悉。@Beanpublic ShiroFilterFactoryBean shiroFilter2(final Securi...
2019-10-14 16:38:42 1133
原创 【Shiro学习】ShiroFilter源码分析
通过上篇对FilterChainManager的学习,可以知道,FilterChainManager是ShiroFilter的基础,包括维护filter列表、请求路径到过滤器链的映射和代理原过滤器链,从而让shiro的过滤器先执行。ShiroFilter使用FilterChainManager代理原过滤器链ShiroFilter是shiro的入口点,当请求路径到达ShiroFilter...
2019-10-14 11:13:23 290
原创 【Shiro学习】FilterChainManager源码分析
FilterChainManager是shiro的Filter链管理器,主要的功能包括2个:1.维护filter列表:维护shiro的默认filter,并维护用户配置的filter,统一管理。2.路径映射:为每一个filter配置过滤路径chainName和对应的过滤配置chainSpecificFilterConfig。并把同一个请求chainName对应的filter组装成filte...
2019-10-13 17:31:31 509
原创 【Shiro学习】FormAuthenticationFilter源码分析
如何使用shiro进行登陆验证,这个比较熟悉,看下面的代码,是不是很熟悉呢?@Bean public ShiroFilterFactoryBean shiroFilter2(final SecurityManager securityManager) { ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFa...
2019-10-12 15:37:34 671
原创 【Linux学习】rabbitmq高可用配置
修改hostname第一步,先修改/etc/hosts 内容,添加各个主机节点的IP地址和主机名,每个节点都要修改。第二步,修改/etc/hostname,每个节点都要修改成对应的主机名。第三步 使用reboot命令重启虚拟机,输入hostname查看主机名是否已经修改成新的主机名。修改文件权限cookie文件是隐藏文件,根据erlang安装的方式不同,存放在/root/....
2019-09-30 17:51:47 187
原创 【Linux学习】rabbitmq用户角色
rabbitmq五种用户角色(1)None(其他)不能访问后台管理。(2)Management(普通管理者)显示权限下的虚拟主机,操作拥有的虚拟主机queues,exchanges和bingdings.上篇文章说过,权限通俗的讲就是操作queues,exchanges和bingdings的权限。查看和关闭自己的channels和connections。--这个很好理解...
2019-09-29 21:53:44 1074
原创 【Linux学习】rabbitmq常用命令-用户-权限-登陆-虚拟主机
登陆管理开启图形化界面rabbitmq-plugins enable rabbitmq_management重启rabbitmq服务通过两个命令来实现,因为rabbitmqctl是没有restart命令的,所以重启rabbitmq服务需要这么两步。rabbitmqctl stop:停止rabbitmqrabbitmq-server restart: 重启rabbitmq...
2019-09-29 17:32:36 2377
原创 【Linux学习】图形化访问rabbitmq
上一篇学习了在linux环境安装rabbitmq,本篇将学习如何图形化访问rabbitmq图形化访问rabbitmq1.需要开放虚拟机的5672和15672端口,否则主机访问不了虚拟机的rabbitmq。firewall-cmd --zone=public --add-port=5672/tcp --permanent //开放5672端口firewall-cmd --zo...
2019-09-29 16:43:23 478
原创 【Linux学习】rabbitmq安装过程
首先在根目录下创建 /app文件夹,该文件夹用于存放我们的应用程序。mkdir /app由于rabbitmq需要Erlang语言的支持,所以需要先安装Erlang语言。安装erlang语言 先安装Erlang所需要的依赖yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-...
2019-09-29 15:45:54 125
原创 【Linux学习】NAT(地址转换模式)
上篇学习了桥接模式来实现虚拟机上网,桥接模式下,每一个虚拟机都是独立的个体,和物理主机处于同等地位,分别占用一个IP地址,在ip资源短缺的情况下,桥接模式不适用。而NAT模式通过虚拟出NAT设备和DHCP虚拟服务器,来分配虚拟IP给虚拟机,最终使用主机的IP来实现联网。NAT的逻辑架构如下(直接借用网上一张图)在NAT模式下,主机的网卡直接与虚拟NAT设备相连,然后虚拟设备NAT设...
2019-09-27 17:48:51 1265
原创 【Linux学习】桥接模式
桥接模式vmvare在安装的时候默认安装了两块虚拟网卡,VMnet1和VMnet8,另外还有VMnet0,VMnet0对应的就是桥接模式的网卡。就是将主机网卡和虚拟机虚拟的网卡利用虚拟网桥进行通信,在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有的桥接设置的虚拟机连接到这个交换机的一个接口上,所有桥接模式下的网卡与网卡都是交换模式的,相互可以访问而互不干扰。虚拟机和主机处于同等的地位...
2019-09-27 14:29:50 553
原创 【Linux学习】网络基础-ARP协议
ARP地址解析协议是根据IP地址来获取物理地址的一个TCP/IP协议。原理主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流...
2019-09-26 21:13:48 194
原创 【Linux学习】创建虚拟机
打开vmware,点击编辑栏的文件→新建虚拟机点击下一步:点击下一步:选择虚拟机的操作系统镜像文件,这里我们使用的CentOS7,点击下一步给虚拟机起个名字,设置虚拟机保存的位置,这里我选择的是D盘192.168.174.25文件夹。点击下一步分配虚拟机内存,根据电脑情况设置,内存大的可以多分配一点,这里分配2GB,点击下一步选择网络类型,这...
2019-09-26 09:39:21 268
原创 【Shiro学习】shiro登陆过程
shiro登陆:首先创建一个token,然后执行subject.login方法,自己实现一个Realm来对token进行验证,验证成功,则登陆成功,否则登陆失败。显然,subject.login在其中起到了非常重要的作用!那么它到底干了什么呢?1.subject.login执行过程的类图如上图所示,subject.login的执行过程大体如下:首先委托给securityManage...
2019-09-08 17:24:07 587
原创 【JAVA高级】线程基础知识
并发解决的问题1.速度:避免了单线程阻塞 2.完整的仿真涉及大量的任务,需要使用协作多线程并发存在的问题共享内存和I/O资源,编写多线程要协调多线程对资源的使用,以使得资源不会被多个任务同时使用。线程驱动任务线程可以驱动任务,所以需要一种描述任务的方式,这可以由runnable接口来提供。thread调用方式 new Thread(new Runn...
2019-09-05 21:30:55 158
原创 【JAVA高级】反射
反射是什么?RTTI是类型在编译器就知道了,但是如果类型在编译期不可知,那么就需要使用反射来获取运行时得类型信息。Class和java.lang.reflect类库为反射提供了支持。使用反射时,需要先检查这个对象,看它属于哪个类,然后加载这个类的class对象,那个类的class文件对于jvm来说必须是可获取的,可以在本地机器,也可以是从网络取得。class对象java class文件...
2019-09-03 14:46:40 199
原创 【JavaWeb学习】session的基本原理
之前认识session是因为登陆模块是使用session来校验用户是否登陆的,但是对session到底怎么实现的并没有仔细想过,本篇就来学习一下session.1.session是什么 在WEB应用中,服务器会为每一个用户浏览器创建一个会话对象Session对象,即每个浏览器访问服务器都有独立的session,服务器程序可以把用户数据写道用户浏览器独占的Session中,...
2019-08-17 13:10:42 1964
原创 【Java基础】Integer自动拆箱、装箱
在看java代码规范的时候看到有这么一条,等级为强制,特此验证。【强制】所有的相同类型的包装类对象之间值的比较,全部使用 equals 方法比较。说明:对于 Integer var = ? 在-128 至 127 范围内的赋值,Integer 对象是在 IntegerCache.cache 产生,会复用已有对象,这个区间内的 Integer 值可以直接使用==进行 判断,但是这个区间之外...
2019-08-07 10:26:55 818
原创 【SpringBoot学习】搭建springboot项目 Hello world
本篇我们将使用eclipse搭建一个springboot项目,最终运行起来,可以通过浏览器访问项目。首先,使用eclipse创建maven project点击next,选择 maven骨架 maven-archetype-quickstart点击next,输入包名、项目名、项目版本(这里我们选择快照版本)。点击finish,新建的项目目录结构如下:现在修改p...
2019-07-29 14:41:24 243
原创 【Maven学习】maven的pom元素解析
<?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/P...
2019-07-28 23:02:44 193
原创 【Maven学习】maven继承和传递依赖
本篇我们将学习maven的继承机制、依赖之间的传递性以及maven是如何解决依赖冲突的。maven继承在maven中,子项目是可以继承父项目的依赖的,假设父项目引入了junit依赖,子项目继承父项目,虽然子项目没有引入junit依赖,但是子项目会继承父项目的依赖,从而使用junit依赖。请看例子:现在新建了一个父项目mavenParent,它的目录结构如下,有一个Hello.java和对应...
2019-07-28 23:01:54 10275 1
原创 【Maven学习】maven依赖管理之坐标和scope
本篇我们来说一说maven依赖管理的坐标和scope属性。maven坐标首先我们在本地建了一个maven项目,目录结构如下:pom文件的内容如下:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc...
2019-07-28 10:38:33 580
原创 【Maven学习】maven项目构建
之前也用过maven,但一直都是知其然不知所以然,正好有时间,就从头完整的理一遍,加深印象。本篇将学习maven如何去构建项目。Maven是什么?优点是啥?Maven是java项目管理工具,支持依赖管理和项目的构建。依赖管理:只需要在pom.xml中,写入需要引用的jar包,自动下载管理,开发者不用自己去下载jar并下载它依赖的jar,也不会有jar包的冲突问题,新人上手直接一个pom...
2019-07-24 15:58:02 218
原创 【MySQL数据库】InnoDB索引原理
本文主要从整体上把INNODB的索引涉及到的知识点进行梳理,让读者从整体把握索引的原理,具体内容还需要读者自行查看MySQL技术内幕一书,因为网上大多数文章基本都是拷贝这本书的内容,并且有些文章会误导读者,具体的内容还是耐心点看书吧!1.索引是什么?索引就像是一本书的目录,假设我们想要在书中找到某一小节的内容,如果没有目录,我们是不是要从头到尾顺序找一遍,这非常浪费时间,但有了目录,我们就...
2019-07-22 20:31:56 946
原创 【MySQL数据库】group by详解
基本语法SELECT FROM WHERE GROUP BY HAVING ORDER BY LIMIT先过滤行,然后分组,筛选组,对剩余组排序,选取指定的组集合。记住:一旦分组完成,我们的后续操作都是对分组得到的虚拟表进行操作。GROUP BY子句中列出来的每个列必须是检索列或有效的表达式(但不能是聚集函数)举例说明下面来看一个例子:刚刚开了一把王者荣耀battle,这把...
2019-07-03 12:29:18 6712 1
原创 【MySQL数据库】外键和数据完整性
主、外键定义主键:保证数据的唯一性。 外键:和第二范式有关,保证数据的一致性。传递依赖:A→B→C,则对于同一个B可能存在不同的C,此时将B作为外键,重新设计数据库。外键是空值或等于R1关系中某个主键值。关系的完整性约束实体完整性:主关键字非空,如主关键字是多个属性的组合,则所有主属性均不得取空值。 参照完整性:定义主键和外键引用的约束条件,即外键引用的主键必须存在,说白点就是参照的...
2019-07-02 19:51:35 1842
MySQL技术内幕第二版 姜承尧.pdf
2019-07-23
spring实战(第四版)书源码
2018-05-25
spring实战(第四版)附目录
2018-05-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人