1. 两数之和 题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]方法一代码:cla...
微人事第十二天:Spring Boot整合 RabbitMQ 首先关于Window上安装RabbitMQ的教程,https://www.jianshu.com/p/681f6554ef25 上写的十分详细。开始我尝试了各种版本的安装都没能成功,照着这篇文章操作一下就成功了。(这里强烈安利)安装好之后访问http://localhost:15672/#/网址,用户名和密码都写上guest看到如下页面就代表你安装成功了:相较之下RabbitMQ的优缺点:...
微人事第十二天:SpringBoot整合ActiveMQ ActiveMQ介绍MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。特点:1、支持多种语言编写客户端2、对spring的支持,很容易和spring整合3、支持多种传输协议:TCP,SSL,NIO,UD...
微人事第十一天:WebSocket实现单聊 上一篇博客我们介绍了在Spring Boot框架下使用WebSocket实现消息推送,消息推送是一对多,服务器发消息发送给所有的浏览器,这次我们来看看如何使用WebSocket实现消息的一对一发送,模拟的场景就是利用网页来实现两个人在线聊天。OK,那我们来看看这个要怎么实现。#引入Spring Security并配置由于这里涉及到多个用户之间互相传递消息的问题,涉及到的权限管理问题我使用Spr...
微人事第十天:WebSocket实现在线群聊 WebSocket的由来:大家都知道,HTML页面在刚刚开始出现的时候是静态的,不能够进行交互,后来有了JavaScript,在一定程度上解决了这个问题,但是JavaScript刚出现的时候并不能和服务端进行交互,直到Ajax的出现。Ajax有效的解决了页面和服务端进行交互的问题,不过Ajax有一个问题,就是所有的请求都必须由客户端发起,服务端进行响应,如果服务端有最新的消息,难以即时的发送到客...
微人事第十天:Spring Security基于数据库的认证 Spring Security中我们是在配置类中手动写死登录名和密码的,现在我们通过在数据库中预先填写好几个用户名和密码,等到登录的时候只需要去和数据库中的用户名和密码进行认证就可以了。具体操作步骤如下:填写web,Spirng Security,以及mybatis和mysql的相关依赖。现在给出构建数据库的相关sql代码:这里创建了三张表分别是:user(用户表) role(权限表) ...
微人事第十天:Spring Security方法安全 在Spring Security中之前通过在配置类中针对不同的访问路径有不同的权限,现在可以直接在方法上通过注解来配置访问不同的路径所需要的权限。首先在配置中添加方法安全注解prePostEnabled:执行方法的前后进行安全验证securedEnabled:创建一个切点,这样的话Spring Security切面就会包装带有@Secured注解的方法@EnableGlobalMethod...
微人事第十天:Spring Security加密 在之前的博客中我们对于登陆的密码都是不加密的,现在为了安全起见,我们需要将密码由明文加密成为密文。密码加密我们一般会用到散列函数,又称散列算法、哈希函数,这是一种从任何数据中创建数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来,然后将数据打乱混合,重新创建一个散列值。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲...
微人事第十天:登陆表单详细配置 对于登录接口,登录成功后的响应,登录失败后的响应,我们都可以在 WebSecurityConfigurerAdapter 的实现类中进行配置。例如下面这样(以下内容是springboot项目配置好基础spring security以后的内容,spring security的基本配置这里就不重复了。)下面来详细解释配置的代码:以下定义了两个访问路径分别所需的权限,除了以admin和user开头...
微人事第十天:HttpSecurity配置 Spring Security可以针对不同的访问路径,来根据登陆的用户判断该用户是否可以访问。实现这个功能就需要HttpSecurity配置来解决。1.配置类以下配置类可以看出,这里提供了两个登陆的用户,用户javaboy具有admin权限,用户江南一点雨既有admin又有user权限。接下来配置类中根据不同的访问权限来设定该用户是否能访问。例如以下代码就表示以admin开头的路径只能ad...
微人事第十天:spring security初体验 Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理这个领域,一直是 Shiro 的天下。相对于 Shiro,在 SSM/SSH 中整合 Spring Security 都是比较麻烦的操作,所以,Spring Security 虽然功能比 Shiro...
微人事第九天:spring cache整合Ehcache 用惯了 Redis ,很多人已经忘记了还有另一个缓存方案 Ehcache ,是的,在 Redis 一统江湖的时代,Ehcache 渐渐有点没落了,不过,我们还是有必要了解下 Ehcache ,在有的场景下,我们还是会用到 Ehcache。Spring Cache 可以整合 Redis,当然也可以整合 Ehcache,两种缓存方案的整合还是比较相似,主要是配置的差异,具体的用法是一模一样的,就类似...
微人事第九天:spring cache整合redis springboot中整合redis有许多种方法,cache是springboot官方作为一个统一的定义标准。下面来实现spring cache整合redis1.工程创建创建springboot工程,创建时需要引入四个依赖:web,spring security,spring data redis,spring cache.在pom.xml文件中可看到刚才添加的四个依赖已经被引入。<...
微人事第八天:Devtools简介 Devtools是springboot中的热部署,热部署就是你更改java代码,不用再去重启整个工程来查看更改效果,只需要点击编译就可以看到变化,这大大缩短了工程开发时间,下面要介绍以下具体步骤。1.创建spring boot项目勾选web和devtools查看pom.xml文件可以发现devtools已经被引入了,optional中的true是让devtools不允许引入其它依赖中&l...
微人事第七天:spring boot构建Restful风格应用 利用过年时间零零碎碎的学了一些关于spring boot构建Restful风格应用的方法,学习顺序根据以下博客(个人觉得写的很好,这里偷个懒):http://www.javaboy.org/2019/1220/springboot-restful.html...
微人事第六天:springboot操作redis java中操作redis的方法有很多,最主要使用的就是 Spring Data Redis。在ssm中需要开发者自己来配置 Spring Data Redis ,这个配置比较繁琐,主要配置 3 个东西:连接池、连接器信息以及 key 和 value 的序列化方案。在 Spring Boot 中,默认集成的 Redis 就是 Spring Data Redis,默认底层的连接池使用了 lettu...
微人事第五天:spring Boot 整合 Jpa 多数据源 本文是 Spring Boot 整合数据持久化方案的最后一篇,主要和大伙来聊聊 Spring Boot 整合 Jpa 多数据源问题。在 Spring Boot 整合JbdcTemplate 多数据源、Spring Boot 整合 MyBatis 多数据源以及 Spring Boot 整合 Jpa 多数据源这三个知识点中,整合 Jpa 多数据源算是最复杂的一种,也是很多人在配置时最容易出错的一种。本...
微人事第五天:Jpa自定义数据修改SQL Jpa中虽然自带一些方法,但是有些地方还是需要自己定于SQL语句来创建方法。现在我们想添加数据:@Query中写sql语句,?前的数字与方法中参数的顺序匹配@Modifying表示这是一个修改方法@Transactional是事务,不加会报错(增加,删除,修改操作都需要加上事务注解) @Query(value = "insert into book(name,author) values...
微人事第五天:Spring Data Jpa关键字定义查询方法 虽然Jpa中有定义好的方法,但是还不够我们使用,我需要在接口中自己定义一些方法。1.BookDao这里定义一个根据id查询Bookpackage org.javaboy.jpa.dao;import org.javaboy.jpa.bean.Book;import org.springframework.data.jpa.repository.JpaRepository;//操作实...