部分一转载自:http://blog.csdn.net/yang123111/article/details/32099329 via @yang123111 部分二转载自:http://www.cnblogs.com/20160813main/p/5826446.html via @Chell 获取Spring的上下文环境ApplicationContext的方式 Web项目中发现有人如此获得spring的上下环境: public class SpringUtil {        publi…
问题描述 在开发中,因某些业务逻辑执行时间太长,我们常使用线程来实现.常规服务实现类中,使用 @Autowired 来注入Bean,来调用其中的方法.但如果在线程类中使用@Autowired注入的Bean,调用方法会抛出ava.lang.NullPointerException异常.过程如下: 注入 @Autowired TtaskSubitemDao taskSubitemDao; 使用 List<TtaskSubitem> taskSubitemList = taskSubitemDao.…
几天前和一位前辈聊起了Spring技术,大佬突然说了SPI,作为一个熟练使用Spring的民工,心中一紧,咱也不敢说不懂,而是在聊完之后赶紧打开了浏览器,开始的学习之路,所以也就有了这篇文章.废话不多说,咱们开始正文. 定义 SPI的英文全称就是Service Provider Interface,看到全称,心里就有了底了,这是一种将服务接口与服务实现分离以达到解耦可拔插以最大提升了程序可扩展性的机制, 这个机制最大的优点就是无须在代码里指定,进而避免了代码污染,实现了模块的可拔插.在JDK.S…
在启用线程中使用来jdbcTemplate来查询数据库,引入jdbcTemplate是用Spring  @Autowired注解  方式引入,但是在运行中 jdbcTemplate 总是 空指针 解决方法: 定义一个静态获取Bean的类 @Component public class SpringUtils implements ApplicationContextAware{ //Spring应用上下文环境 private static ApplicationContext applicati…
需要引入: import javax.servlet.http.HttpServletRequest; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; 使用方法: public static HttpServletRequest getRequest(){ Ser…
理论知识很枯燥,但这些都是基本功,学完可能会忘,但等用的时候,会发觉之前的学习是非常有意义的,学习线程就是这样子的. 1.如何创建锁? Lock lock = new ReentrantLock(); 2.如何使用锁? 可以参看Lock文档,其使用格式如下: class X { private final ReentrantLock lock = new ReentrantLock(); // ... public void m() { lock.lock(); // block until c…
很多时候我要对List中的元素调换位置,这时候可以用如下代码,意思是将data中的index1与index2元素互换位置 //data 为List Collections.swap(data,index1,index2);…
start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用. 代码1 package Threads; /** * Created by Frank */ public class ThreadsDemo1 extends Thread { private String msg; private int count; public ThreadsDemo1(final String msg, int n) { this.msg = msg; count = n; setName…
在使用spring mvc时,实际上是两个spring容器: 1,dispatcher-servlet.xml 是一个,我们的controller就在这里,所以这个里面也需要注入属性文件 org.springframework.web.servlet.DispatcherServlet 这里最终是使用WebApplicationContext parent =WebApplicationContextUtils.getWebApplicationContext(getServletContext…
linux shell 字符串操作(长度,查找,替换)详解 该博文中描述的如下两个字符串操作, ${string:position} #在$string中, 从位置$position开始提取子串 ${string:position:length} #在$string中, 从位置$position开始提取长度为$length的子串 需要用到字符/子串在父字符串中的位置(position);而shell字符串并未提供获取子串所在位置的接口,如果基于字符串变量的操作,则无法预知子串的位置: Posit…