随笔分类 -  Spring学习笔记

摘要:【Spring AOP 如何定位连接点】 1.增强提供了连接点的方位信息:如织入到方法前面、后面等。 2.切点描述的是织入到哪些类的哪些方法上。 【切点】 Spring通过org.springframework.aop.Pointcut接口描述切点,Pointcut由ClassFilter和Meth 阅读全文
posted @ 2017-01-20 16:07 HigginCui 阅读(7029) 评论(0) 推荐(1)
摘要:【异常抛出增强】 异常抛出异常最适合的应用场景:事务管理。 当参与事务的某个Dao发生异常时,事务管理器就必须回滚事务。 【异常抛出增强 例子】 【操作数据库的Dao类:PersonDao.java】 【抛出异常增强(事务管理器):TransactionManager.java】 【Spring配置 阅读全文
posted @ 2017-01-20 11:21 HigginCui 阅读(1255) 评论(0) 推荐(1)
摘要:【增强的类型】 1.前置增强:org.springframework.aop.BeforeAdvice。 由于Spring只支持方法级别的增强,所以MethodBeforeAdvice是目前可用的前置增强,表示在目标方法执行前执行前置增强,BeforeAdvice是为了将来版本扩展需要而定义的。 2 阅读全文
posted @ 2017-01-19 23:07 HigginCui 阅读(2716) 评论(0) 推荐(1)
摘要:【AOP的使用场景】 性能测试 访问控制 事务管理 日志记录 【AOP相关术语】 [ 连接点 Joinpoint ] 程序执行的某个特定位置。(假如Car类有drive()方法,那么在drive()方法之前,drive()方法之后,或者方法抛出异常之后,这些即为连接点)Spring仅仅支持方法的连接 阅读全文
posted @ 2017-01-19 19:49 HigginCui 阅读(233) 评论(0) 推荐(1)
摘要:【概述】 已知JDK动态代理中的Proxy.newProxyInstance(ClassLoader loader,Class[] interfaces,InvocationHandler h)方法的第二个参数Class[] interfaces就是需要代理类实例实现的接口列表,即这里的代理类必须实 阅读全文
posted @ 2017-01-19 16:44 HigginCui 阅读(173) 评论(0) 推荐(0)
摘要:【概述】 JDK的动态代理主要涉及到java.lang.reflect包中的两个类:Proxy和InvocationHandler。 InvocationHandler是一个接口,可以通过实现该接口定义横切逻辑,并通过反射机制调用目标类的代码,动态地将横切逻辑和业务逻辑编织在一起。 Proxy利用I 阅读全文
posted @ 2016-06-14 02:12 HigginCui 阅读(419) 评论(0) 推荐(1)
摘要:【工程截图】 【PersonDao.java】 【PersonDaoImpl.java】 【Transaction.java】 【personDaoInterceptor.java】 【testPerson.java】 【运行结果】 【拦截器中的invoke方法什么时候执行?】 答:当在客户端的代理 阅读全文
posted @ 2016-06-13 02:04 HigginCui 阅读(239) 评论(0) 推荐(0)
摘要:【工程截图】 【PersonDao.java】 【PersonDaoImpl.java】 【Transaction.java】 【PersonDaoProxy.java】 【testPerson.java】 【运行结果】 阅读全文
posted @ 2016-06-13 01:46 HigginCui 阅读(217) 评论(0) 推荐(0)
摘要:【工程截图】 【Person.java】 【Studnet.java】 【applicationContext.xml】 【testStudent.java】 【运行结果】 阅读全文
posted @ 2016-06-13 01:28 HigginCui 阅读(402) 评论(0) 推荐(0)
摘要:【工程截图】 【SuperPerson.java】 【Person.java】 【Studnet.java】 【applicationContext.xml】 【testPerson.java】 【运行结果】 阅读全文
posted @ 2016-06-13 01:12 HigginCui 阅读(256) 评论(0) 推荐(0)
摘要:【工程截图】 【PersonDao.java】 【PersonDaoImpl.java】 【PersonService.java】 【PersonServiceImpl.java】 【PersonAction.java】 【applicationContext.xml】 【testPerson.ja 阅读全文
posted @ 2016-06-11 17:08 HigginCui 阅读(3616) 评论(1) 推荐(0)
摘要:【工程截图】 【Document.java】 【ExcelDocument.java】 【PdfDocument.java】 【WordDocument.java】 【DocumentManager.java】 【applicationContext.xml】 【testDocument.java】 阅读全文
posted @ 2016-06-11 00:45 HigginCui 阅读(2949) 评论(0) 推荐(0)
摘要:【工程截图】 【Student.java】 【Person.java】 【applicationContext.xml】 【testPerson.java】 【运行结果】 【注意】 如果类上方只有@Component,那么其相当于<bean id="类名首字母小写,其他不变" class=".... 阅读全文
posted @ 2016-06-11 00:17 HigginCui 阅读(285) 评论(0) 推荐(0)
摘要:【工程截图】 【Student.java】 【Person.java】 【applicationContext.xml】 【testPerson.java】 【运行结果】 【小结】 执行顺序: 1.启动Spring容器 2.Spring容器内部创建了两个对象:porson和student 3.当Sp 阅读全文
posted @ 2016-06-10 20:43 HigginCui 阅读(256) 评论(0) 推荐(0)
摘要:【工程截图】 【PersonDao.java】 【PersonDaoImpl.java】 【PersonService.java】 【PersonServiceImpl.java】 【PersonAction.java】 【applicationContext.xml】 【testPerson.ja 阅读全文
posted @ 2016-06-10 20:01 HigginCui 阅读(6808) 评论(0) 推荐(1)
摘要:【工程截图】 【Document.java】 【ExcelDocument.java】 【PdfDocument.java】 【WordDocument.java】 【DocumentManager.java】 【applicationContext.xml】 【testDocument.java】 阅读全文
posted @ 2016-06-10 19:35 HigginCui 阅读(510) 评论(0) 推荐(1)
摘要:【工程截图】 【HelloWorld.java】 【applicationContext.xml】 【testHelloWorld.java】 【运行结果】 【小结】 从运行结果可以看出,先运行HelloWorld()构造方法,然后运行init()初始化方法,然后再运行调用的hello()的方法,最 阅读全文
posted @ 2016-06-10 15:29 HigginCui 阅读(962) 评论(0) 推荐(1)
摘要:【工程截图】 【Some.java】 【SomeBean.java】 【applicationContext.xml】 【TestAll.java】 【运行结果】 阅读全文
posted @ 2016-06-10 14:39 HigginCui 阅读(265) 评论(0) 推荐(1)
摘要:【简述】 如果在bean定义文件中已经有一个定义好的bean实例,则可以直接让某个属性来参考至这个实例,以实际的例子来做示范。 【工程截图】 【HelloWorld.java】 【applicationContext.xml】 【testHelloWorld.java】 【运行结果】 【小结】 要参 阅读全文
posted @ 2016-06-10 12:44 HigginCui 阅读(197) 评论(0) 推荐(0)
摘要:【工程截图】 【HelloWorld.java】 【applicationContext.xml】 【testHelloWorld.java】 【运行结果】 阅读全文
posted @ 2016-06-10 11:56 HigginCui 阅读(217) 评论(0) 推荐(0)