- 博客(11)
- 资源 (3)
- 收藏
- 关注
原创 Spring启动过程(精简版)
项目开放中, spring框架的启动过程是什么样的呢? 以下就简单的概述一下首先了解一些基本的概念,1. BeanFactory : spring构建过程中的核心接口, 顶级接口, 主要提供根据beanName获取Bean实例 getBean(String beanName) 方法, 注意: 这个获取Bean实例存在"第一次惩罚"的情况, 即懒加载的问题2. ApplicationCo
2017-12-05 15:38:37 534
原创 spring的嵌套事务控制
spring的事务控制,嵌套调用时为何不起效描述: 用spring管理service层事务,然后配置切面, ,满足这三种特征的service方法,能正常实现再异常时回滚。但是,我在service定义了另外一个没有带着个特征的方法,比如search
2017-08-23 13:43:24 415
翻译 单例模式设计
单例模式就是用于确保系统只能产生一个实例对象,不会出现创建多个实例对象的情况1. 饿汉式单例代码:public class Singleton {private Singleton() {}private static Singleton instance = new Singleton();public static Singleton get
2017-08-18 15:20:26 219
原创 http 请求工具
import org.apache.http.client.fluent.Form;import org.apache.http.client.fluent.Request;publicString post(String url, Map param) throws Exception{ Form form = Form.form(); for(String key : param
2017-08-02 11:04:42 668
原创 签名认证
public static String getSign(Map param, String key){ if(param == null){ return null; } String[] names = param.keySet().toArray(new String[param.size()]); Arrays.sort(names); Strin
2017-08-02 10:43:41 250
原创 多线程中异常堆栈信息展示
在多线程中会出现异常情况发生, 但是又苦于没有任何日志信息, 这对程序员来说拍错是个致命的打击, 不小心需要好几天都没有眉目针对这种情况, 对JDK自带的线程池进行改造, 让其能够显示出对应的错误日志,创建TraceThreadPoolExecutor extends ThreadPoolExecutor (JDK自带线程池)import java.util.concurrent.*;
2017-07-10 20:37:57 2486 1
原创 mybatis传入map参数之后xml文件中取值问题
有时在开发中难免会遇到传入的参数为map类型的时候, map的key为数据库中的主键或者其他的唯一字段, value为需要进行插入的值,在mybaits的XML文件中进行遍历取出map参数中的值, 有两种方式进行处理方法一:xml文件中写法update id="updateInventoryBatch" parameterType="java.util.Map"> for
2017-07-04 14:03:44 43309 5
原创 巧用spring进行测试InitializingBean
spring 项目中简单进行相关测试的方法, 可以使用单元测试, 不做概述使用InitializingBean 进行简单测试用法:1. spring容器管理的类中实现InitializingBean 接口, 实现方法即可2. 在实现的afterPropertiesSet()方法中进行相应操作即可
2017-06-23 13:52:23 652
转载 获取ip地址
public static String getIp(HttpServletRequest request) { String ip = request.getHeader("X-Real-IP"); log.warn("X-Real-IP ip={}", ip); if (StringUtils.isNotEmpty(ip) && !"unKnown".equalsIgn
2017-06-21 10:20:43 283
原创 动态截取集合字符串算法
以下内容只为记录:有时需要将长度不确定的集合中数据动态的获取到一定长度的集合进行相应的操作. 这是可以将集合转为map进行操作, 以下为代码片段int QUERYNUM = 30;Map> resultMap = new TreeMap<>();int size = resultList.size(); // 获取到集合list的长度// 转为mapfor (i
2017-06-20 10:58:11 894
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人