spring获取bean实例
>在web项目中获取springbean,有时候我们需要在非spring组件中获取springbean,我们如果希望在我们的项目中任何位置都能拿到同一个ApplicationContext来获取IOC容器中的资源,就要让Spring将上下文环境填充到我们能获取的地方 最简单的方案就是自己写一个SpringContextUtil来获取。 代码如下: ``` public class SpringContextUtil implements ApplicationContextAware { private static final Logger logger = LoggerFactory.getLogger(SpringContextUtil.class); private static ApplicationContext context = null; /* * @Title: setApplicationContext * @Description: spring获取bean工具类 * @param applicationCon...

2016-12-29 14:12

类型:工作 标签:spring,java

java中map的线程安全问题
> Map用于存储“key-value”元素对,它将一个key映射到一个而且只能是唯一的一个value。 Map可以使用多种实现方式,HashMap的实现采用的是hash表;而TreeMap采用的是红黑树。 **java.util包提供了大量集合类。其中最常用的集合类有List、Set、Map等。** 首先,来看下java.util包中Map相关的集合类。Map往下提供了两个接口:ConcurrentMap和SortedMap。ConcurrentMap是java5中新增的线程安全的Map接口;而SortedMap则是支持排序的Map接口。常用的就属Hashtable、HashMap和TreeMap了。另外,java5新增了HashMap的并发版本ConcurrentHashMap。 **Hashtable 和 HashMap** >Hashtable和HashMap都实现了Map接口,但是Hashtable的实现是基于Dictionary抽象类。 在HashMap中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为null。 当get()方法返回n...

2016-11-27 14:03

类型:工作 标签:HashMap,java

关于ThreadLocal的理解
## ThreadLocal > ThreadLocal是一个关于创建线程局部变量的类。 通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。而使用ThreadLocal创建的变量只能被当前线程访问,其他线程则无法访问和修改。 1. 创建,支持泛型,有get,set方法 ``` ThreadLocal<String> stringThreadLocal = new ThreadLocal<>(); ``` 2. 简单使用 ``` private void test() { Thread t = new Thread() { ThreadLocal<String> stringThreadLocal = new ThreadLocal<>(); @Override public void run() { super.run(); stringThreadLocal ("www.yuxianghe.net"); stringThreadLocal (); ...

2016-10-30 13:12

类型:工作 标签:threadlocal,java

freemarker实现分页 jsp实现分页 java内存分页
很多时候我们都会用到分页,模版渲染有的用的是jsp,velocity,freemarker。。。 今天搞了下分页的发现有点烧脑,哈。 首先后台进行分页的时候会直接在sql里面实现,这个都大同小异,这里来说下在内存中分页,先上代码: #### java内存分页: 通过传入查询出来的总的list数据,页码页数来得到当页的list数据。 ``` /** * 内存分页,从1开始 * @param list list * @param pageIndex 页码 * @param pageSize 页数 * @param T * @return T */ public static List pagination(List list, int pageIndex, int pageSize){ final int totalSize = list.size(); pageIndex = pageIndex <= 1 ? 1 : pageIndex; int startIndex = Math.max((pageIndex - 1) * pageSize, 0); ...

2016-09-28 14:19

类型:工作 标签:freemarker,java,jsp

spring和mybatis整合初体验
1. 用maven引入spring和mybatis必要的依赖包。 这里就不加说明了,具体的jar包自己看下就明白了。 2. spring-mybatis的xml配置文件. ``` <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans ...

2016-08-28 10:48

类型:随笔 标签:spring,mybatis,java

我与我周旋久 独孤影 开源实验室