在搭建一个Spring+SpringMVC的项目时,在web.xml中你肯定会先配置`ContextLoaderListener`,然后再配`DispatcherServlet`,并且你肯定会有疑惑这俩东西干嘛的?我们知道,Web容器启动,他有一个全局的上下文,即`ServletContext`,那么这三者有什么关系呢?
编码过程中,经常会遇到泛型,然后通用的一些方法,想用反射获取到泛型的实际类型,之前一直以为没办法,都是用注解在变量前边指定的,今天查了下,还是有方法的。
Mybatis generator 插件会生成一堆Example类,之前一直没有在意,直到最近写generator的插件时,才去探了一下究竟。然后发现,其用编程式实现SQL 的动态拼接,很是方便,比自己一直去在SqlMap中写sql方便太多了。
因为之前写了一个字典项填充插件,需要对select出来的对象填充字典项的中英文字段,考虑到这种东西应该对数据访问层就透明,必然不能放到service里去做。那就想到了动态代理来做。Spring框架中AOP是绝佳选择。但是问题来了,同样的Pointcut表达式,service能拦截,但是dao的接口就不能拦截,纠结了一天。如果要看怎么解决,直接看问题解决即可。
声明切面
@Aspect
public class DictionaryAspect {
}
注意 Aspect除了加@Aspect注解外,必须得确保Spring可以找的到该Component。也就是要么加@Component注解,要么在Srping的配置文件中配置bean。