Java项目
ningmengbaby
每个人都有属于自己的那个闪光点,重要的是绽放!
展开
-
Jenkins部署开发环境
【前言】现在打字练习的项目只有生产环境,所有的改动都在生产环境上进行,这明显是不合理的,所以就得部署一套开发环境。【过程】为什么要用Jenkins部署呢?因为Jenkins是自动构建的,只要提交代码之后就可以自动构建了。就没有后端部署war/jar包,前端再怎么样了,前后端代码都可以直接拉取。1.后端部署(传统方式)1)不同的环境是放置在不同的Tomcat上的,所以只需要重新配...原创 2018-05-23 18:00:42 · 974 阅读 · 30 评论 -
Java8日期处理
【前言】关于日期的处理在每一个项目中都是会涉及到的。【过程】Instant.now() //Instant表示一个精确的时间点 LocalDate //本地日期新的API可以用生活中一样的方式来表示年和月份。 //获取当前时间LocalDate now=Lo...原创 2018-07-16 20:23:12 · 315 阅读 · 12 评论 -
会话技术Cookie & Session
【前言】 知识是积累出来的。【过程】1.会话技术简介会话技术是帮助服务器记住客户端状态。从打开一个浏览器访问一个站点,到关闭这个浏览器的整个过程,称为一次会话。会话技术就是记录这次会话中客户端的状态和数据的。2.Cookie技术数据存储在客户端本地,减少服务器端的压力,安全性不好,客户端可以清除cookie。1)服务器端向客户端发送一个Cookie 创建cookie对象Cookie cookie...原创 2018-06-10 17:32:49 · 208 阅读 · 11 评论 -
Map集合
【前言】1.Map 用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。2.key和value之间存在着单向一对一关系,即通过既定的key,总能找到唯一的、确定的va...原创 2018-07-09 20:45:26 · 200 阅读 · 6 评论 -
Java8中 Date和LocalDateTime的相互转换
数据库存的是timestap,java后端实体存的是date类型的,用的是java8的localdatetime,需要把localdatetime转换成date类型。1.使用atZone()方法将LocalDateTime转换为ZonedDateTime2.将ZonedDateTime转换为Instant,并从中获取Date代码示例:import java.time.I...原创 2019-11-04 12:18:46 · 4410 阅读 · 1 评论 -
SpringBoot 配置全局异常处理器捕获异常
最近看到项目中有满屏的try catch,每个接口都做了 try/catch 处理,而且一旦需要调整,所有的接口都需要修改一遍,非常不利于代码的维护,然后就想着配置一下全局异常处理器。全局异常处理1.配置一下异常类public class UserNotExitException extends Exception{ private static final long serialVersionUID = 1L; private String errorCode; .原创 2021-09-12 01:24:11 · 359 阅读 · 1 评论 -
map集合解决双重for循环的性能问题
现在有个需求,需要将student表和class表的所有数据返回回去,关联条件时class_id。如果用sql很容易实现,直接连表查询就可以了,但是现在项目是微服务,不能连表查询了,所以得在代码里面修改。定义三个类,student类,class类,还有返回所有数据的studentAndClass类。import java.util.ArrayList;import java.util....原创 2019-12-02 01:50:47 · 1561 阅读 · 0 评论 -
TemporalAdjusters
Java8引入了新的日期、时间库--即java.time包,TemporalAdjuster类是其中之一。时间调节器,将一个时间调节成另外一个时间@FunctionalInterfacepublic interface TemporalAdjuster { Temporal adjustInto(Temporal temporal);}有两种类等效的使用TemporalAdjuster的方式//第一种temporal = thisAdjuster.adjustInto(te原创 2020-09-30 09:45:43 · 1712 阅读 · 0 评论 -
Java常用的加密算法
本文从对称加密和非对称加密展开论述。简介:对称加密: 加密和解密的秘钥使用的是同一个. 非对称加密:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。对称加密算法:密钥较短,破译困难,除了数据加密标准(DES),另一个对称密钥加密系统是国际数据加密算法(IDEA),它比DES的加密性好,且对计算机性能要求也没有那么高....原创 2019-10-06 15:20:26 · 307 阅读 · 0 评论 -
Postman中测试 @PathVariable、@RequestParam、@RequestBody
1、@PathVariable2、@RequestParam3、@RequestBody转载 2021-09-16 11:38:55 · 1108 阅读 · 0 评论 -
Druid在Spring和SpringBoot项目中的使用
是什么?数据库连接池的一种,管理和释放数据库的连接,实现连接的重复利用,可以对比线程池。参数配置能干什么?1,连接池2,监控3,加密4,扩展JDBC怎么使用?添加依赖:<!--spring--><dependency> <groupId>com.alibaba</groupId> &l...原创 2019-09-11 17:44:58 · 749 阅读 · 1 评论 -
RabbitMQ和SpringBoot整合
新建springboot项目勾选web。1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency&...原创 2019-09-11 17:41:31 · 1086 阅读 · 0 评论 -
什么是分布式锁?
在多线程并发的情况下,如何保证一个代码块在同一个时间只能由一个线程访问?Java的synchronized语法和Reentrantlock类就可以实现。保证在同一个JVM进程内的多个线程同步执行。如果在分布式的集群环境中,如何保证不同节点的线程同步执行呢?这就引入了分布式锁。具体的实现由redis分布式锁和zookeeper的分布式锁。...原创 2019-07-18 21:33:07 · 138 阅读 · 1 评论 -
使用IDEA创建Maven聚合工程
【前言】最近在断断续续的敲宜立方的视频,第一天是搭建自己的工程。简单记录一下过程。【过程】在大神的博客的带领下一步一步成功。原创 2018-12-22 20:02:32 · 390 阅读 · 3 评论 -
打字练习项目上线环境部署
【前言】打字练习这个项目是在公司开发的,但是要让学校的学生用,所以得在学校那边部署一套环境。【过程】在公司需要做的事情1.把前端的项目用ng build --prod 命令打包,默认放在了dist下面。将dist下面的所有文件复制粘贴到nginx下面的html替换。2.在main .js下面替换地址 将带有本公司局域网的地址替换为学校那边ip地址。去学校那边需要做的事情...原创 2018-11-09 16:51:40 · 315 阅读 · 6 评论 -
打字练习之pk理论篇
【前言】最近打字练习要做一个pk功能,说做就做。【过程】思路:面对面建群加入要pk的人(参考积分),第一个进来的人为队长显示开始pk按钮,其余人等待队长点击开始pk然后进行pk保存个人成绩和pk成绩。1.显示个人成绩的界面放置两个按钮,分别为个人进入练习 和组队pk(限时30秒进入哦)点击个人进入练习显示的界面2.点击组队pk(限时30秒进入哦)说明组队p...原创 2018-11-09 10:36:47 · 392 阅读 · 2 评论 -
Lombok介绍
介绍在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。IDEA中的安装打开IDEA的Setting –&gt; 选择Plugins选项 –&gt; 选择Browse repositories –&gt; 搜索lombok –&gt; 点击安装 –&gt; 安装完成重启IDEA –&gt; 安装成功引入依赖在项目中添加L.转载 2018-10-25 09:42:03 · 217 阅读 · 11 评论 -
echartsY轴数据不置顶
【前言】最近有个需求是Y轴数据为自适应的,并且不能置顶。【过程】这样的话,普通的echarts的max ,min ,interval就不能用了。var max=Max.max.apply(null,data); -----data为查询到的数据,此行代码是取得查询数据的最大值if (max %10 ==0) { ...原创 2018-08-14 21:31:49 · 2480 阅读 · 7 评论 -
Echarts tooltip 柱状图上方加百分比
【前言】最近在做的项目前端用到了echarts,有个需求就是在柱状图上方加上数据并且加上百分号。【过程】经过多方实践,终于成功了。series[{ label:{ normal:{ show:true, position:'top' ---数据显示在上方 ...原创 2018-08-14 21:18:56 · 10406 阅读 · 5 评论 -
AngularJs 与echarts结合实例
【前言】最近在做的项目前端是用的AngularJs,后端用的是SSM。最近的业务需求是使用echarts显示图表。【过程】1.刚接到这个需求的时候,觉得难点应该是前端,因为公司的其他几个同事老是跟我灌输前端多么多么麻烦的思想,再加上看到他们好多业务逻辑都写在前端,让我也不免担心起来。2.进行过程中看了echarts的官网,话不多说,拿官网的一个例子简要说明一下。option ...原创 2018-06-26 23:38:02 · 1940 阅读 · 20 评论 -
前后端分离实现条件查询结果
【前言】前后端分离,前端是用的angular框架,后端用的是SSM框架加上一些工具类。【过程】这次要做的功能是根据时间和学生姓名的条件来查询数据库中的信息。这篇文章只是介绍有条件的查询,无参的查询就默认做好了的。第一步,画界面。两个时间控件,一个input框。在这里我用的是PrimeNG的样式结合angular的特点<div style="margin-left: 15...原创 2018-05-04 20:37:21 · 4243 阅读 · 6 评论 -
Jenkins部署后端生产环境
【前言】打字练习的后端生产环境只部署在一台服务器上,为了分担压力同时为了更加的稳定,现在后端的生产环境要重新部署一台服务器。【过程】我们公司的项目使用的是Jenkins来部署,所以重新配置一下后端的生产环境,然后再更改一下Nginx的指向就可以了。下面看一下nginx的配置Nginx需要更改的地方server 是tomact下面的server.xml weight是分配...原创 2018-10-04 10:15:12 · 1635 阅读 · 3 评论 -
Session防止表单重复提交,js和java的方式
【前言】打字练习最近有个小的bug,就是在网络不好的情况下,表单可以 重复提交。【过程】本来以为这个问题很复杂,但是发现上网一查,解决方式还挺多的。如果网速比较慢的情况下,用户点击的提交发现半天没有反映,于是又重新点击了几次提交按钮,这就造成了重复提交的问题。那么在我们的开放中必须解决这种重复提交的问题。比如有个需要用户填写用户名和密码然后提交到后台进行登录验证的一个提交,重复提交...原创 2018-10-24 11:10:09 · 244 阅读 · 12 评论 -
SSM框架添加junit单元测试
1.添加pom依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </depe...原创 2019-09-11 17:41:58 · 1198 阅读 · 0 评论