- 博客(39)
- 问答 (2)
- 收藏
- 关注
原创 【Java】通过枚举的key获取对应的value
public enum PayChannelEnum { /** * 支付方式 */ ALI_PAY("1", "支付宝"), CHAT_PAYMENT("2", "微信支付"), TRANSPORTATION_CARD("3", "交通卡"), PRE_CHARGE_CARD("4", "预充卡"), UNION_PAY("5...
2020-04-21 09:29:15
945
原创 【数据校验】统一错误返回
问题:验证字段过多,每次都使用参数去接收错误提示,再返回给前端,导致代码大量冗余解决:使用@ControllerAdvice 注解做统一的异常处理,对所有验证错误进行捕获,统一返回给前端import com.google.common.collect.Lists;import com.pilot.oms.service.common.constant.ResultType;import c...
2020-04-21 09:26:55
1895
原创 【ElasticSearch】搜索管理
搜索语法1. 简单搜索1. 语法#GETIP:PORT/索引库名称/type/search?q=2. DSL搜索DSL是ES提出的基于JSON的搜索方式,在搜索时传入特定的json格式的数据来完成不同的搜索请求;DSL比URL搜索方式功能强大,在项目中建议使用DSL方式来完成搜索2.1 查询所有文档发送:post http://localhost:9200/_search2...
2020-03-31 11:38:26
346
原创 【ElasticaSearch】快速入门
快速入门创建索引库ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用head插件来测试,目的是对ES 的使用方法及流程有个初步的认识。关于索引这个语:索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过程称为索引。下边介绍两种创建索引库的方法,它们的工作原理是相...
2020-03-31 10:10:35
190
原创 【Elasticsearch】安装
安装安装配置新版本要求至少JDK1.8以上支持tar、zip、rpm等多种方式安装支持docker安装解压后目录bin:脚本目录,包括:启动、停止等可执行脚本config:配置文件目录 data:索引目录,存放索引文件的地方logs:日志目录modules:模块目录,包括了es的功能模块plugins :插件目录,es支持插件机制配置文件ES的配置文件的地址根据安...
2020-03-30 16:06:42
187
原创 【Elasticsearch】基础概念
一、ElasticsearchElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Jav...
2020-03-30 15:30:56
135
原创 【JVM】G1收集器调优
1. 使用G1垃圾收集器修改配置参数,获取到gc日志,使用GCViewer分析吞吐量和响应时间-XX:+UseG1GC Throughput Min Pause Max Pause Avg Pause GC count 99.16% 0.00016s 0.0137s 0.00559s ...
2020-03-16 11:30:55
307
原创 【JVM】内存溢出实例
1. 堆内存溢出 @RestController public class HeapController { List<Person> list=new ArrayList<Person>(); @GetMapping("/heap") public String heap(){ ...
2020-03-16 10:55:26
200
原创 【JVM】工具
一、JDK命令行工具1. jps 查看Java进程 C:\Users\Another>jps 7488 OmsOperationServiceApplication 10500 RemoteMavenServer 17432 Launcher 24024 Jps 4152 jar 105082. jinfo 查看和调整JVM配置参...
2020-03-16 10:51:27
258
原创 【JVM】参数使用
1. 如何设置需要使用的垃圾收集器#串行-XX:+UseSerivalGC-XX:+UseSerivalOldGc#并行-XX:+UseParallelGC -XX:+UseParallelOldGC #并发收集器-XX:+UseConcMarkSweepGC-XX:+UseG1GC 2. 标准参数-version-help-server-cp3. -X 参数-...
2020-03-16 10:40:12
163
原创 【JVM】垃圾收集
一、垃圾收集算法1. 标记-清除(Mark-Sweep)算法分为两个阶段:首先标记出所需要回收的对象,在标记完成后统一回收所有被标记的对象1.1 不足效率问题,标记和清除两个过程效率都不高;空间问题,标记清除之后会产生大量的连续的内存碎片,空间碎片太多会导致以后在程序运行中需要分配较大对象时,无法找到足够的连续内存而不得提前触发另一次垃圾收集动作2. 复制算法(Copying)...
2020-03-16 10:26:07
107
原创 【JVM】运行时数据区
运行时数据区图示:Method Area(方法区)方法区是各个线程内存共享的区域,在虚拟机启动时创建;用于存储已被虚拟机加载的类信息、常量、静态变量、即使编译器编译后的代码等数据虽然Java虚拟机规范把方法区描述为堆的一个逻辑分布,但是方法区通常被称为Non-Heap(非堆),目的是与Java堆区分开;当方法区无法满足内存分配需求时,将抛出OutOfMemoryError异常The ...
2020-03-15 14:09:46
102
原创 【JVM】类加载机制
一、类加载过程1. 装载(Load)通过一个类的全限定名 获取定义此类的二进制字节流将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构在Java堆中生成一个代表这个类的 java.lang.Class对象,作为对该方法区中这些数据的访问入口2.链接(Link)验证(Verify)文件格式验证元数据验证字节码验证符号引用验证准备(Prepare)为静态类...
2020-03-15 13:58:48
123
1
原创 【数据校验】@validated注解
使用方法创建实体bean@Datapublic class OprStaDelayFeeUpdParam extends BaseParam { @NotNull private Integer staDelayFeePkId; @NotBlank @Length(max = 50) private String feeName; @...
2020-03-12 17:22:25
770
原创 【数据校验】自定义注解
注解验证时间格式@Target({ElementType.FIELD, ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Constraint(validatedBy = DateTimeValidator.class)public @interface DateTime { String message() ...
2020-03-11 19:52:08
112
原创 数据校验工具类
数据校验工具类import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Component;import javax.validation.ConstraintViolation;import javax.validation.Validator;...
2020-03-11 16:17:06
472
转载 Spring 和Spring MVC 问题汇总
1. 列表内容为什么使用Spring?方便解耦,简化开发;通过Spring提供的Ioc容器,可以将对象之间的依赖关系交由Spring进 行控制,避免硬编码所造成的过度程序解耦。AOP的支持;通过Spring提供的AOP功能。方便进行面向切面的编程,如性能监测、事物管理、日志记录等。声明式事务的支持方便集成各种优秀的框架、降低Java EE API的使用难度;如JDBC,JavaM...
2018-07-17 23:02:31
439
原创 Mybatis 延迟加载
延迟加载懒加载,正真用到该对象时才会发送SQL在Mybatis中,只针对关联对象才会有延迟,Hibernate中的延迟加载对本对象、单端关系、集合都起作用全局开关:在配置文件中配置如下<settings> <!--开启全局延迟加载--> <setting name="lazyLoadingEnabled" value...
2018-03-14 16:33:19
252
原创 Mybatis 插入一条记录返回主键
插入一条记录返回主键情景:向数据库中插入一条数据,要求返回插入数据的id主键必须为整型,而且支持自增需求实现:在保存完成后执行SELECT LAST_INSERT_ID()即可实体设计public class User implements Serializable { private Integer id; private String nam...
2018-03-14 16:16:43
459
原创 Mybatis 继承映射
继承映射在hibernate中有三种映射方式建立一张表字表生成表各类生成表Mybatis使用建立一张表的方式数据库设计 其中eye_color字段为猫私有属性fur_color为狗私用属性-实体类public class Animal implements Serializable { private static final long ...
2018-03-14 16:02:45
1798
1
原创 Mybatis 代理模式创建
mybatis代理模式与非代理模式的区别:mapper类只需要定义接口,mapper映射文件的namespace的值必须为mapper接口的全类名书写的SQL的ID 必须与mapper接口中的相对应的方法名相同配置文件mybatisConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE conf...
2018-03-11 22:02:23
411
原创 Mybatis 的基本使用
mybatis的基本使用mybatis一般可使用两种配置方式,一种代理方式,一种非代配置数据库表字段 需要的jar 包结构 mybatis的基本配置<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD...
2018-03-11 21:48:17
228
原创 Spring Boot 读取配置文件
spring boot configration processor not found in classpath问题描述:使用springBoot时,读取自定义的资源文件时发生错误,表示读取不到资源文件结局方法:高版本springboot 去除掉了@ConfigurationProperties()中location,所以需要使用@PropertySource注解指定资源文件 此...
2018-03-09 12:12:25
347
原创 Spring集成Shiro
集成Spring加入 Spring 和 Shiro 的 jar 包 配置 Spring 及 SpringMVC 参照:1.3.2\shiro-root-1.3.2-sourcerelease\shiro-root-1.3.2\samples\spring 配置 web.xml 文件和 Spring 的配置文件配置Spring与SpringMVCweb.xmlc
2018-01-12 14:46:43
231
原创 Shiro的简介
简介Apache Shiro 是JAVA 的一个安全(权限)框架Shiro 可以非常容易的开发足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE环境Shiro可以完成:认证、授权、加密、会话管理、与Web集成、缓存等。下载:http://shiro.apache.org/功能简介基本功能如下图所示: Authentication:身份认证/登
2018-01-12 14:13:32
300
原创 SSSP — 实列展示
实体类@Cacheable@Table(name="SSSP_DEPARTMENT")@Entitypublic class Department { private Integer id; private String departmentName; @GeneratedValue @Id public Integer getId() {
2018-01-07 13:44:00
634
原创 SSSP — 环境搭建
概述涉及技术SpringMVC、Spring、SpringData/JPA 整合完成CRUD、翻页基于Restful风格使用JPA二级缓存使用@PesponseBody注解完成Ajax搭建环境 1. 配置Spring 2. 配置SpringMVC 3. 加入JPA 4. 加入SpringDataweb.xm
2018-01-07 13:28:52
662
原创 自定义 Repository 方法
为某一个Repository添加自定义方法步骤 定义一个接口:声明要添加的方法。提供该接口的实现类:类名需要在声明的Repository后添加Impl,并实现方法声明Repository接口,并继承声明的接口默认情况下,Spring Data 会在 base-package中查找接口名为Impl 作为实现类 ,也可通过repository-impl-postfix 声明后缀
2018-01-05 18:27:37
1096
原创 JpaSpecificationExecutor接口
JpaSpecificationExecutor不属于Repository体系,实现一组JPA Criteria查询相关的方法 Specification:封装JPA Criteria查询条件,通常使用匿名内部类的方法来创建改接口的对象/** * 目标: 实现带查询条件的分页. id > 5 的条件 * * 调用 JpaSpecificationEx
2018-01-05 17:52:48
748
原创 JpaRepository接口
JpaRepository提供了JPA相关功能 List findAll(); //查找所有实体 List findAll(Sort sort); //排序、查找所有实体 List save(Iterable entities);//保存集合 void flush();//执行缓存与数据库同步 T saveAndFlush(T entity);//强制执行持久化 void
2018-01-05 17:38:04
883
原创 PagingAndSortingRepository接口
PagingAndSortingRepository接口提供了分页与排序功能Iterable findAll(Sort sort); //排序 Page findAll(Pageable pageable); //分页查询(含排序功能) 实列(实现该接口即可直接掉用)public class SpringDataTest { private Applicati
2018-01-05 17:23:12
5053
原创 CrudRepository接口
CrudRepositoryCrudRepository接口提供乐儿最基本的对实体类的增、删、改、查操作测试保存 只需继承相应的接口 ,然后在service层中定义即可@Servicepublic class PersonService { @Autowired private PersonRepsotory person; public void
2018-01-05 17:17:27
1163
原创 @Modifying 注解和事务
@Modifying 注解和事务@Query 与 @Modifying 这两个注解可以定义个性话更新操作,@Modifying @Query("UPDATE Person p SET p.email = :email where id = :id") void updatePerson(@Param("email") String email, @Param("i
2018-01-05 17:00:12
1636
原创 @Qiery 注解
使用@Query自定义查询查询可以声明在Repository方法中,摆脱像命名查询那样的约束,将查询直接在相应的接口方法中声明,就更为清晰列子@Query("SELECT p FROM Person p where p.id = (SELECT MAX(p2.id) FROM Person p2)") Person getMaxIdPerson();传参方式 使用占
2018-01-05 16:36:25
329
原创 SpringData 方法定义规范
简单条件查询查询方法必须以find|read|get开头,涉及条件查询时,条件的属性同条件之间用关键字连接,条件属性首字母大写支持属性级联查询,当当前类又符合条件的属性时,优先使用当前类属性,而不使用级联属性;若需要使用级联属性 属性之间使用_连接支持的关键字如下 实列展示//where name like ?% and id ListPerson>
2018-01-05 16:13:56
411
原创 Spring Data --- Repository接口
Rpository接口概述Repository 接口是Spring Data 的一个核心接口 ,他不提供任何的方法,开发者需要在自己定义的接口中声明需要的方法public interface RepositoryT,Id extends Serializable>{}Spring Data可以让我们值定义接口,只要遵循Spring Data的规范,就无需实现类 -与继承Re
2018-01-05 15:36:25
348
原创 Spring 与SpringData的整合
SpringData作用: 致力于减少数据库访问层的开发量,开发者唯一要做的就是声明持久层的接口 ,其他的都交由SpringData JPA 来帮我们完成使用Spring Data JPA进行持久层开发需要的步骤配置Spring 整合JPA在Spring配置文件中配置SpringData,让Spring为声明的接口创建对象代理对象,配置了 ,Spring 初始化容器将会扫描ba
2018-01-05 11:17:37
376
空空如也
kruscal 求最小树 问题求大神
2015-06-24
数据结构 问题求大神
2015-06-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人