
java
文章平均质量分 75
枫小样
用优雅的代码铺通往成功的路
展开
-
JAVA反射
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码, Class.forName("com.mysql.jdbc.Drive转载 2014-11-10 11:29:57 · 438 阅读 · 0 评论 -
更换SSL证书认证问题--代码版
最近服务器的SSL证书到期了,需要更换.然后更换之后,请求其他接口的时候,有一个报错.javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuil原创 2015-07-13 15:34:57 · 1200 阅读 · 0 评论 -
类中静态常量的判断
做项目的时候,对于常量的存放,很多人都放在interface中..这样的话就可以少写private static final等字段..省了代码.如果是常用int型等常量.也会保存在枚举中.这样就可以通过枚举去取.但是对于字符串的常量..枚举好像就没有办法去保存string类型的.需求: 申明的常量是否存在某个常量..所以这次还是用class是保存常量..这样的话原创 2015-08-06 14:17:42 · 973 阅读 · 0 评论 -
Spring配置文件加载properties文件
在项目中加载properties文件有很多种方法, 这里介绍一种配置文件加载的方法.1. 因为在下面要用到Spring的配置,所以,首先要引入其对应的命名空间, 即要在applicationContext.xml中加入以下的配置:xmlns:util="http://www.springframework.org/schema/util" xsi:schem转载 2015-09-16 09:21:31 · 458 阅读 · 0 评论 -
redis入门学习
最近有意识的想学学redis.听说快要取代memcached了..直接正题,首先,我用的是windows的本地环境.需要下载一个redis的服务,用的是win7-64位的..能不能用32位没有试过.我这里的版本是redis-2.8.12下载后的zip包解压在一个文件夹中.解压后如下图:然后在cmd中切到当前目录...执行 redis-server.exe r原创 2015-10-15 15:44:32 · 341 阅读 · 0 评论 -
HttpUtil
把项目中的httpUtil记录下来,方便以后查询或使用.public class MyHttpUtils { private static final int CONNECTION_TIMEOUT = 10000; private static final int READ_TIMEOUT = 10000; private static final Logger logger = L原创 2015-09-17 10:01:03 · 394 阅读 · 0 评论 -
spring中注解注入的实现(转)
最近在看spring的源码,看的一愣一愣的,好累....看到IOC实现的时候,在想如果不是在xml中配置属性,用注解的话如何实现呢.上网找了找资料,看到一个不错的.进入正题!在Java中使用@Autowired和@Resource注解进行装配,这两个注解分别是:1、@Autowired按照默认类型(类名称)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许为n转载 2015-10-20 16:00:03 · 2022 阅读 · 0 评论 -
mybatis整合spring配置
简要的说一下mybatis整合spring的配置首先导入几个比较重要的jar包1.mybatis2.mybatis-spring在applicationContext.xml中配置,使得mybatis交给spring托管 <bean id="sqlSessionFactory" name="sqlSessionF原创 2015-09-22 10:51:46 · 450 阅读 · 0 评论 -
shiro配置
shiro是一个轻量级的权限验证框架,小而强大,方便集成.话不多说,直入正题.首先,下载几个关键的jar包, shiro-core, shiro-spring 和 shiro-web, 也可以直接用waven去配.加入包到lib之后.首先在java中新建一个class,实现AuthorizingRealm接口,这个是shiro主要的权限的接口.其中要实现两个方法,1.A原创 2015-09-21 16:17:03 · 714 阅读 · 0 评论 -
mybatis自动生成文件
以前一直用mybatis都是手动写各种文件..居然不知道还能自动生成..进入正题.首先需要两个jar包. 我这边下载的是mybatis-generator-core-1.3.2.jar 和mysql-connector-java-5.1.15-bin.jar把这两个jar包放在resources文件夹里面.然后同时,在这个文件夹中,有个关键的配置文件..generato原创 2015-10-31 11:45:39 · 533 阅读 · 0 评论 -
复杂排序-Comparator的应用
Comparator是java中的比较器, 以前简单的比较或者排序复写一下compareTo就差不多能搞定了.但是遇到多条件的排序就比较恶心了.最近在工程中有遇到一个..这边记录一下.希望有点参考价值.需求是这样的:用户有很多优惠券,但是优惠券有很多属性.查询后需要给用户最智能的列表.规则如下: 1.当游戏券面额大于订单总额,额度最低的优先原创 2016-01-21 16:09:13 · 811 阅读 · 0 评论 -
Excel解析器
最近有用到解析excel..网上找了找,还是用poi的多,在网上找了个util工程中用maven仓库进行管理, 引入poi 和poi-ooxml. org.apache.poi poi 3.14 org.apache.poi poi-ooxml 3.14具体的实现类ExcelReader.javaimport java.io.F转载 2016-07-13 09:46:58 · 1171 阅读 · 0 评论 -
spring整合mybatis多数据源切换
最近项目用到多数据源, 在网上找了资料解决了,稍微描述下.假如数据源用到两个,一个正式数据库, 一个历史数据库.在applicationContext.xml中的相关配置如下:原创 2016-07-13 10:15:21 · 618 阅读 · 0 评论 -
DomReader工具
解析xml等信息的工具.首先, 有一个单例工厂DomBuilderFactoryHelper, 用于生成解析器.package com.gionee.pay.settle.factory;import javax.xml.parsers.DocumentBuilderFactory;/** * xml工厂 * * @author: wuxing * @date: 2016原创 2016-07-06 10:17:36 · 908 阅读 · 0 评论 -
设计模式学习之路 - 模板方法模式 - 专注于流程
今天我们了解一下模板方法模式。这个模式,我觉得大家听的不多,但是用的特别多,稍微有点年限的程序猿应该都在经常使用这个模式(但是可能不知道, 或者是这个模式的变相)模板,就是一个通用的东西, 平时大家在编程的时候,只要遇到相同的代码,都会提取方法出来,然后共用方法,减少代码量,这是最基本的重构,稍微有点强迫症的人会经常这样做, 而模板方法,只是比这个稍微高级一丢丢,也用的不。原创 2016-08-04 22:05:00 · 414 阅读 · 0 评论 -
设计模式学习之路 - 单例模式 - only you
今天我们了解一下单例模式,这个模式似乎是笔试最多的模式之一了(面试几乎必问, 似乎面试官特别感兴趣)单例,从字面意思看, 就是单独的实例, 表示这个实例是唯一的。那么很多人就会问了,为什么需要这种只有一个实例的类。其实,在开发中, 很多对象我们都只需要一个,比如:线程池、缓存等等.实际上这些对象也有且只能有一个,多个实例的话,反而会有问题,或为程序异常,或为资源不足。我原创 2016-08-28 20:03:38 · 657 阅读 · 0 评论 -
设计模式学习之路 - 迭代器模式 - 封装遍历
今天了解一下迭代器模式。说到迭代器, 有点编程经验的应该都知道 iterator..不错,这个就是迭代器。有时候在走循环流程,我们通常会拿到链表中的迭代器,通过迭代器进行循环。什么叫迭代器模式呢:提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。这边举个小例子解释一下。有两家餐厅要合并了,一个是中式餐馆的, 一个是港式茶点的,因为合并了,两种东西都卖,点餐的原创 2016-09-03 23:56:23 · 1075 阅读 · 0 评论 -
更换SSL证书认证问题--配置版
前面说过遇到更换SSL证书的问题,一开始找到是用代码去屏蔽SSL的验证.这样的话,就跳过了所有的验证,相当于认同所有的SSL证书.这样明显是不合适的...所以后面又开始找方法..将SSL的证书导入JRE的库中..这样的话就可以管理自己认证证书.第一步、下载安全证书在浏览器中查看证书(最好是用IE浏览器)...在详细信息栏,点复制文件.选择Base64编码...点下一步!原创 2015-07-17 17:14:51 · 2033 阅读 · 0 评论 -
关于RSA加密的BUG
近期做项目,用到RSA加密算法.主要是服务端与安卓客户端进行数据传输.数据在客户端加密后,传输到服务端进行解密.但是,在服务端和客户端算法是一样的,加解密也都能成功,交互的时候却一直报错.错误:javax.crypto.BadPaddingException: Blocktype mismatch: 0由于在加解密之前有用base64编码,一直以为是编码的问题后面百度后发现是大多网上说的方法,确实原创 2015-05-07 17:11:24 · 1086 阅读 · 0 评论 -
excel下载
项目里用的excel下载功能.记下以后有用.主要是一个xlsCreatorpublic class MyXlsCreator { @SuppressWarnings("unused") private static Logger logger = Logger.getLogger(MyXlsCreator.class); private SimpleDateFormat sdf=ne原创 2015-03-13 09:56:01 · 321 阅读 · 0 评论 -
配置文件
package com.newnewbank.commons.utils;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOExcept原创 2014-09-18 15:22:44 · 432 阅读 · 0 评论 -
java自定义注解
java注解是附加在代码中的一些元信息,用于一些工具在编译、运行时进行解析和使用,起到说明、配置的功能。注解不会也不能影响代码的实际逻辑,仅仅起到辅助性的作用。包含在 java.lang.annotation 包中。1、元注解元注解是指注解的注解。包括 @Retention @Target @Document @Inherited四种。1.1、@Retention: 定义注解转载 2014-09-05 13:39:55 · 410 阅读 · 0 评论 -
权限
Map retArray = new java.util.LinkedHashMap(); Map all = new HashMap(); for(Permission b:array){ if(b.getParentPermissionId() == null){ ManageChildrenMen原创 2014-09-04 16:39:27 · 551 阅读 · 0 评论 -
字符串替换
package com.newnewbank.commons.utils;import java.io.IOException;import java.io.Reader;import java.io.StringReader;import java.io.StringWriter;import java.util.Map;import org.apache.log4j.Logger原创 2014-09-15 15:15:46 · 708 阅读 · 0 评论 -
aop(网上找的demo)
今天研究了一下aop,感觉很热啊...不知道就太土鳖的感觉,所以学spring的时候先学学这个看看....简而言之,原创 2014-11-17 15:29:51 · 520 阅读 · 0 评论 -
spring中bean的生命周期
在spring中,从BeanFactory或ApplicationContext取得的实例为Singleton,也就是预设为每一个Bean的别名只能维持一个实例,而不是每次都产生一个新的对象使用Singleton模式产生单一实例,对单线程的程序说并不会有什么问题,但对于多线程的程序,就必须注意安全(Thread-safe)的议题,防止多个线程同时存取共享资源所引发的数据不同步问题。然而在s转载 2014-11-18 11:33:49 · 450 阅读 · 0 评论 -
自定义缓存
随便记记servicepublic Object getSessionAttribute(HttpServletRequest request,String key){ CookieCache cache = (CookieCache)request.getAttribute("CACHE"); if(cache != null){ return cache.getCache(k原创 2015-01-31 16:29:00 · 574 阅读 · 0 评论 -
WEB应用中的session
作为一名WEB开发程序员,对session的理解是最基础的,但是现状是WEB程序员遍地都是,随便一划拉一大把,不过估计能把session能透彻理解的人应该不是很多,起码我之前对此是知之甚少,偶然看到的一个关于session的文章,经过适当整理,特拿来与大家分享,因为时间太久,文章出处已然记不清楚,无法附上,请原作理解,若有必要我会删除,谢谢!目 录 一、Session 二、Co转载 2015-02-04 22:45:45 · 650 阅读 · 0 评论 -
深入web请求过程
B/S架构两方面好处:客户端使用统一的浏览器Browser;服务端基于统一的HTTP协议。HTTP协议采用无状态的短连接的通信方式,通常情况下一次请求就完成了一次数据交互,通常也对应一个业务逻辑,然后这次通信连接就断开了。如何发起一个请求当一个用户在浏览器里输入www.pingan.com这个URL时:1.请求DNS把这个域名解析成对应的IP地址。2.根据IP地址在互联转载 2015-02-14 16:43:13 · 516 阅读 · 0 评论 -
map和bean互转工具
这个在项目里有时候很有用,map2bean和bean2map, 也有时候会用到json,也可以用gson的工具.package com.newnewbank.utils.bean;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import j原创 2015-02-11 10:50:21 · 4060 阅读 · 0 评论 -
随机数和随机字符串获取
项目里用到的,获取随机数或者随机字符串的工具,在验证方面可以用到.记下方便以后用package com.newnewbank.utils.string;import java.util.Random;import org.apache.log4j.Logger;public class RandomStringUtil { @SuppressWarnings("unused")原创 2015-02-11 10:46:34 · 568 阅读 · 0 评论 -
时间工具
时间工具,记下方便以后用.package com.newnewbank.utils.Date;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import org.apache.log4j.Logger原创 2015-02-11 10:49:25 · 369 阅读 · 0 评论 -
数据模拟工具
有时候测试service的时候,没有数据怎么办,自己在数据库做假数据是一件很痛苦的事情...夏楠逗比找的个数据模拟工具,放上来,以后说不定可以用的到.package com.newnewbank.utils.test;import java.util.List;import com.github.miemiedev.mybatis.paginator.domain.PageList;原创 2015-02-11 10:52:36 · 1431 阅读 · 0 评论 -
精确计算工具
以前算业务的时候有找过精确计算的计算器,大致就是用BigDecimal去转double..这里记一下,方便以后用.package com.newnewbank.utils.format;import java.math.BigDecimal;import org.apache.log4j.Logger;public class NumberDealUtil { @Suppress原创 2015-02-11 10:41:43 · 378 阅读 · 0 评论 -
字符串马赛克
在页面显示手机或者银行卡之类隐秘信息的时候,通常会加*,每次手动加*的话会很痛苦,这里放个字符串马赛克工具,方便以后用.package com.newnewbank.utils.string;public class StringMaskUtil { /** * 字符串打马赛克 * @param str 原字符串 * @param leftRest 左边预留 * @p原创 2015-02-11 10:56:56 · 1472 阅读 · 0 评论 -
web.xml配置详解(转)
引文:对于一个J2EE领域的程序员而言,基本上每天都会和web应用打交道。什么是web应用?最简单的web应用什么样?给你一个web应用你该从何入手?1、什么是web应用? web应用是一种可以通过Web访问的应用程序。在J2EE领域下,web应用就是遵守基于JAVA技术的一系列标准的应用程序。2、最简单的web应用什么样? 2个文件夹、1个xml文转载 2015-03-02 10:11:18 · 396 阅读 · 0 评论 -
rabbitmq整合spring
这两天闲着没事玩了下RabbitMQ.MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过 队列来通信。队列的使用除去了原创 2016-09-22 16:23:51 · 8442 阅读 · 3 评论