- 博客(59)
- 收藏
- 关注
原创 数据库使用规范
一. 数据库命名规范命名规则可以再详细一点数据库数据库的定义原则上对应在子系统一级,在不能满足实际需求的情况下也可以对应到具体的应用程序一级:命名:采用“系统名称_子系统名称_db ”或“系统名称_应用程序名称_db ”,去除子系统或应用程序名称中的 “.” 符号。命名长度不可超过20个字符,如果系统名称较长可采用缩写,如power_express可缩写为pe, 并且所有字母小写,每个...
2020-02-24 09:50:13
654
原创 读取hbase数据
@Repositorypublic class StandardHbaseReaderTemplate {private static Logger logger = LoggerFactory.getLogger(StandardBatteryTemplate.class);@Value("${}")private String tableName;@Autowiredpriva...
2020-01-13 21:03:25
260
原创 指定时间内不能重复参数请求
/** * 指定缓存失效时间 * * @param keys 键 * @return */@Transactionalpublic boolean isExistMd5Key(Long timeout, Object... keys) { if (timeout == null) { timeout = 60L; } StringBuffer ...
2019-07-31 15:31:43
383
原创 git上统计代码行数
git log --author=“yanli.zhang” --pretty=tformat: --numstat --date=iso --since=2019-06-01 --until=2019-07-15 | awk ‘{ add += $1 ; subs += $2 ; loc += $1 + $2 } END { printf “added lines: %s removed lin...
2019-07-16 23:29:33
1226
原创 @Transactional事务几点注意
这里面有几点需要大家留意:A. 一个功能是否要事务,必须纳入设计、编码考虑。不能仅仅完成了基本功能就ok。B. 如果加了事务,必须做好开发环境测试(测试环境也尽量触发异常、测试回滚),确保事务生效。C. 以下列了事务使用过程的注意事项,请大家留意。不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,否则注解可能无效。2.不要图省...
2019-06-28 16:53:51
595
原创 sql能重复执行约定
为了保障生产发布,执行SQL脚本能够健康稳定执行,对需要发布生产的SQL脚本进行约定。如下:创建新表需要先书写“DROP TABLE IF EXISTS [table_name]”,然后再“CREATE TABLE [table_name]…”,(警告)需要注意,前提是生产库不存在这张表!DROP TABLE IF EXISTS [table_name];CREATE TABLE [ta...
2019-06-26 16:11:38
534
原创 开关存入redis
@Slf4j@Servicepublic class SwitchService { @Autowired private RedisTemplate<String,String> redisTemplate; private String env; private SwitchService(){ Properties systemProps = Sys...
2019-02-01 15:15:19
563
原创 2018-01-08粗记
/** * */package com.nio.otd.mer.goods.common.config.mongo;import com.mongodb.MongoClient;import com.mongodb.MongoClientOptions;import com.mongodb.MongoCredential;import com.mongodb.ServerAddre...
2019-01-09 09:07:26
172
1
原创 2018-12-28粗记
private KafkaTemplate<String,String> kafkaTemplate; spring+kafka集成System property ‘java.security.auth.login.config’ is not set 导包问题 在最外层的pom.xml依赖/.idea*.iml/logs/.settings.classp...
2018-12-29 14:37:45
163
原创 2018-12-24 粗记
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date createTime;ctrl+鼠标右键+打开命令行maven清理指令:mvn clean清理项目生产的临时文件,一般是模块下的targ...
2018-12-26 16:49:51
179
1
原创 2018-12-19粗记
502 bad gatewayeuraka1.eureka.client.register-with-eureka = true2.@EnableDiscoveryClient3.apollo.bootstrap.enabled = true4.app.id=****5.公共的配置接euraka使用 Zuul 实现 API Gateway 的路由和过滤 ( Routing and F...
2018-12-21 10:25:39
94
原创 218-12-18粗记
Result result = JsonHelper.parseToObject(json, Result.class);Error:(625, 22) java: 无法从静态上下文中引用非静态 变量 this <dependency> <groupId>com.nio.platform</groupId> <artifactId>...
2018-12-19 09:19:36
228
原创 2018-12-12粗记
/** * 根据模板id获取文件发送内容 *@param tplId */ private String getContentsTpl(Integer tplId,String contents){ EmailTemplate emailTpl = emailTplDao.selectById(tplId); String textContent="&l...
2018-12-12 15:43:00
125
原创 2018-12-05粗记
idea一个窗口添加多个项目,以project structure-- module的形式导入kafka项目分为了common模块,controller模块…,各个模块有各自的pom文件,将kafka依赖写入了 common模块,没写在总的pom文件...
2018-12-11 15:20:23
90
原创 2018-1129
ERROR c.n.d.DiscoveryClient - DiscoveryClient_MSGCENTER-SVR/LT5CG8113TKD.fareast.nevint.com:msgcenter-svr:30101 - was unable to refresh its cache! status = Cannot execute request on any known serv...
2018-12-03 15:34:16
168
原创 Spring Boot @ControllerAdvice 处理全局异常,返回固定格式Json
Spring全局异常,Controller增强方式( Advising Controllers) 1 //注意使用注解@ControllerAdvice作用域是全局Controller范围,即必须与抛出异常的method在同一个controller 2 //可应用到所有@RequestMapping类或方法上的@ExceptionHandler、@InitBinder、@ModelAttrib...
2018-11-14 09:51:17
815
转载 切面日志
一、注解:深入理解JAVA注解要深入学习注解,我们就必须能定义自己的注解,并使用注解,在定义自己的注解之前,我们就必须要了解Java为我们提供的元注解和相关定义注解的语法。1、元注解(meta-annotation):元注解的作用就是负责注解其他注解。Java5.0定义了4个标准的meta-annotation类型,它们被用来提供对其它 annotation类型作说明。Java5.0定义的元...
2018-11-14 09:14:20
893
原创 jar
&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.mybatis&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;mybatis-spring&amp;lt;/artifactId&amp;gt; &amp;lt;
2018-11-08 16:10:47
681
原创 创建类和变量的初始化顺序
变量&gt;方法 变量放在哪儿,都会先于任意一个方法的执行前执行,包括构造方法,而构造方法是一个类必须会执行的方法,不需要显示的进行调用。同时,不论变量在哪儿分布,只要在方法外部,就一定先于方法初始化。 静态块&gt;非静态块 我们new了两个对象,可是静态块只执行了一次,而非静态块执行了两个,且都是在调用构造器之前。我们似乎得出了一些结论:静态块是在类的装载时执行的(装入.class文件后...
2018-08-31 16:30:13
205
原创 判断model 中属性是否全为空
反射就是运行时,改变类的结构/** * 判断model 中属性是否全为空 * @return */ @JsonIgnore public Boolean isEmpty(){ int fieldLength = this.getClass().getDeclaredFields().length; int count...
2018-08-31 16:28:44
4619
转载 @requestBody注解的使用
1、@requestBody注解常用来处理content-type不是默认的application/x-www-form-urlcoded编码的内容,比如说:application/json或者是application/xml等。一般情况下来说常用其来处理application/json类型。 2、 通过@requestBody可以将请求体中的JSON字符串绑定到相应的bean上,...
2018-08-30 16:33:06
227
转载 @postconstruct初始化的操作
从Java EE 5规范开始,Servlet中增加了两个影响Servlet生命周期的注解(Annotion);@PostConstruct和@PreDestroy。这两个注解被用来修饰一个非静态的void()方法 。写法有如下两种方式:@PostConstructPublic void someMethod() {}或者public @PostConstruct void some...
2018-08-30 09:44:30
2151
转载 java中判断字符串是否为数字的方法的几种方法
Java中判断字符串是否为数字的方法:1.用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ System.out.println(str.charAt(i)); if (!Character.isDigit(str.char...
2018-08-09 10:48:26
199
原创 BigDecimal精确计算总结
构造BigDecimal BigDecimal提供了丰富的构造函数,可以通过int、long、double、String等来构造一个BigDecimal对象。但是,使用double作为参数的构造函数,无法精确构造一个BigDecimal对象,需要自己指定一个上下文的环境,也就是指定精确位。 例如:BigDecimal bg = new BigDecimal(1.1);System....
2018-06-24 22:52:39
170
原创 Java 8 获取某天最大(23:59:59)最小(00:00:00)时间
获取某一天最大时间和最小时间如下:import java.text.SimpleDateFormat; import java.time.Instant; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.ZoneId; import java.util.Date; ...
2018-05-22 15:05:32
3554
原创 mybatis什么时候用resulttype 什么时候用resultmap
如果你搜索只是返回一个值,比如说String ,或者是int,那你直接用resultType就行了。 但是你如果是返回一个复杂的对象,就必须定义好这个对象的resultMap的result map。举个例子吧,例子以ibatis为例: 你有个User 对象, 拥有两个字段id,name。 1.你要获取id为123的name String name = (String) queryFo...
2018-04-25 09:01:13
819
转载 spring boot启动原理解析
我们开发任何一个Spring Boot项目,都会用到如下的启动类1 @SpringBootApplication2 public class Application {3 public static void main(String[] args) {4 SpringApplication.run(Application.class, args);5 ...
2018-04-19 22:57:20
231
转载 ConcurrentHashMap原理分析
一、出现背景 1、线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。2、效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的...
2018-02-24 22:36:50
123
原创 SpringMVC的工作原理
SpringMVC流程 1、 用户发送请求至前端控制器DispatcherServlet。2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。4、 DispatcherS...
2018-02-24 20:53:26
138
转载 java实现任意进制的互相转换
首先声明此工具类是借鉴前辈的代码写的,工具类主要用于项目中需要生成一个key id,包括日期时间和mac,又要尽可可能数据量小并具有可读性,可能我选为0-9,A-Z和几个符号搭配成42进制,具体代码如下, 你亦可能改变code_string,改为自己想要的代码,就可能实现简单的数据加密了…package com.freestyle.utils; import java.util.Stac...
2018-02-22 17:48:13
5689
转载 Java基础面试题(2)
1、数组有没有length()这个方法? String有没有length()这个方法? 数组没有length()这个方法,有length的属性。String有有length()这个方法。2、下面这条语句一共创建了多少个对象:String s=”a”+”b”+”c”+”d”; 答:对于如下代码: String s1 = “a”; String s2 = s1 + “b”; ...
2018-02-08 23:45:25
175
原创 面试题收藏
2018/02/08面试总结 1.写出hibernate的一对多和多对一双向关联的annotation配置。 2.java开发中会用到的第三方包。 3.如何防止前台页面重复提交。 4.java类加载器classloader总结。 5.left join 与join的区别。 6.值传递与引用传递。 7.JDK动态代理GClib动态代理(深入了解其原理)。 8.单例模式(懒加载深入了解...
2018-02-08 23:41:58
573
转载 Java基础面试题(1)
1、一个”.java”源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto? java中的保留字,现在没有在java中使用。3、说说&和&&的区别。 &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为
2018-02-06 12:21:27
173
转载 线程
第一回 初生牛犊我是一个线程,我一出生就被编了个号:0x3704,然后被领到一个昏暗的屋子里,在这里我发现了很多和我一模一样的同伴。我身边的同伴0x6900 待的时间比较长,他带着沧桑的口气对我说:“我们线程的宿命就是处理包裹。把包裹处理完以后还得马上回到这里,否则可能永远回不来了。”我一脸懵懂,“包裹,什么包裹?”“不要着急,马上你就会明白了,我们这里是不养闲人的。”果然,没
2018-02-04 10:01:33
170
转载 重构 改善既有代码的设计读后总结
1. 重复代码这种情况应该很多人都遇到过,编程中不要有大量的重复代码,解决办法就是去提炼到一个单独的函数中。void A() { ..... System.out.println("name" + _name);}void B() { ..... System.out.println("name" + _name);}更改为↓void A
2018-02-04 09:43:38
261
转载 Java8中的stream
流与集合使用for循环遍历集合标准的写法: int count = 0; for(Artist artist: allArtists){ if(artisst.isFrom("London")){ count++; } }存在的问题: 第一个问题每次需要迭代集合类的的时候,我都要写这样的5行代码或者更多
2018-01-29 22:49:04
348
1
原创 设计模式之单例模式
单例模式写法一: 懒汉式单例public class Singleton { private static class LazyHolder { private static final Singleton INSTANCE = new Singleton(); } private Singleton (){}
2018-01-21 10:58:21
152
原创 冒泡排序,快速排序,归并排序
冒泡排序思想:不停比较相邻记录的关键字,如果不满足排序要求就交换相邻记录的关键字。时间复杂度为O(n^2) 例子:对5,3,8,6,4这个无序序列进行冒泡排序。首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。同理4和8交换,变成5,3,4,8,6,3和4无需交换。5和3交换,变成3,5,4,8,6,3.这样一次冒泡就完了,把最小的数3排到最前面了。对剩下的序列依次冒
2018-01-21 09:59:24
709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人