- 浏览: 59759 次
- 性别:
- 来自: 杭州
-
最新评论
-
liu1084:
解释的惟妙惟肖 很好理解啊 楼主继续啊
Spring AOP 原理解释 -
pipilu:
就不能多打几个字注明转载么?
maven打jar包
文章列表
一、通过配置+$
Spring简化了加载资源文件的配置,可以通过<context:property-placeholder去加载,这个元素的写法如下:
<context:property-placeholder location="classpath:jdbc.properties"/>
如果想要配置多个properties
RedHat Linux 安装oracle11g
- 博客分类:
- 数据库
1、准备oracle安装文件
Oracle11gR2 包含两个文件 linux_11gR2_database_1of2.zip 和 linux_11gR2_database_2of2.zip
解压安装文件到当前目录
[root@localhost oracle]#unzip linux_11gR2_database_1of2.zip
[root@localhost oracle]#unzip linux_11gR2_database_2of2.zip
执行以上命令后,将会在当前目录下面产生名为database的文件夹,这就是oracle安装程序的目录。
2、准备oracle ...
spring注解注入详解
- 博客分类:
- spring
一、各种注解方式
1.@Autowired注解(不推荐使用,建议使用@Resource)
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中加入以下
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
2. @Qualifier ...
SpringMVC中获取request对象
- 博客分类:
- spring
SpringMVC中:
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder
.getRequestAttributes()).getRequest();
springMVC 返回类型及取值顺序
- 博客分类:
- spring
spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void。
下面将对具体的一一进行说明:ModelAndView
Java代码
@RequestMapping("/show1")
publicModelAndView show1(HttpServletRequest request,HttpServletResponse response) throwsException {
ModelAndView mav = newModelAndVie ...
spring 嵌套事物
- 博客分类:
- spring
一、PROPAGATION_NESTED
结合http://www.iteye.com/topic/35907,简单总结一下自己的理解:
(上图AD和BC代表两个事务,1,2,3代表事务执行的三个阶段。图简陋了点,有点像“金箍棒”)
使用嵌套事务的场景有两点需求:
需要事 ...
Spring AOP 原理解释
- 博客分类:
- spring
一.我所知道的aop 初看aop,上来就是一大堆术语,而且还有个拉风的名字,面向切面编程,都说是OOP的一种有益补充等等。一下子让你不知所措,心想着:怪不得很多人都和 我说aop多难多难。当我看进去以后,我才发现:它就是一些java基础上的朴实无华的应用,包括ioc,包括许许多多这样的名词,都是万变不离其宗而已。 二.为什么用aop
1、就是为了方便,看一个国外很有名的大师说,编程的人都是“懒人”,因为他把自己做的事情都让程序做了。用了aop能让你少写很多代码,这点就够充分了吧 2、就是为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情 ...
Spring AOP
- 博客分类:
- spring
概念AOP(Aspect Oriented Programming),即面向切面编程(也叫面向方面编程,面向方法编程)。其主要作用是,在不修改源代码的情况下给某个或者一组操作添加额外的功能。像日志记录,事务处理,权限控制等功能,都可以用AOP来“优雅”地实现,使这些额外功能和真正的业务逻辑分离开来,软件的结构将更加清晰。AOP是OOP的一个强有力的补充。
术语
AOP的术语不太直观,Spring文档中也没有给一个确切的定义,所以重在理解。
Join Point(连接点): 所谓的连接点就是被拦截到的点,spring中,这些点指的就是方法(通俗来讲就是起作用的那个方法)。spri ...
<aop:config>
<aop:pointcut id="userDAO" expression="execution(public * cn.dao.IUserDAO.*(..))" />
<aop:advisor advice-ref="tx" pointcut-ref="userDAO"/>
</aop:config>
execution 是方 ...
Spring 的事务处理
- 博客分类:
- spring
一、概述
(一)基本概念
1、什么是Spring事务处理?
Spring的事务处理,可以说是 Spring AOP 的一种实现。因为事务处理是所谓方面( Aspect )的一个子集。因此默认情况下,事务处理是利用 Java 动态代理机制实现的,这样就必须先定义一个接口,然后再编写实现;而对于没有接口的 Javabean ,则通过CGLIB 实现。这部分是 Spring AOP 部分的内容。
2 、两种事务处理方式
和 EJB 一样, Spring 也提供两种事务处理方式,一种是编程式事务处理;一种是声明式事务处理。
(二)框架图
实现事务处理的两种方式
1、 ...
Spring事务的传播行为和隔离级别
- 博客分类:
- spring
事务的传播行为和隔离级别[transaction behavior and isolated level]
Spring中事务的定义:
一、Propagation :
key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:
1、PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
2、PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。
3、PROPAGATION_MANDATORY--支持当前事务,如果当前没有事务,就抛出异常 ...
spring异常与事务回滚
- 博客分类:
- spring
一、结论
Spring的事务管理默认只对出现运行期异常(java.lang.RuntimeException及其子类)进行回滚。
如果一个方法抛出Exception或者Checked异常,Spring事务管理默认不进行回滚。
关于异常的分类一下详细介绍:
1、基本概念
看java的异常结构图
Throwable是所有异常的根,java.lang.Throwable
Error是错误,java.lang.Error
Exception是异常,java.lang.Exception
2、Exception
一般分为Checked异常和Runtime ...
beanshell脚本
- 博客分类:
- beanshell
开始啰嗦的介绍
现在有很多脚本语言,大家平时使用的比较多的包括Perl,Python,Ruby,Javascript,Groovy,在这里我要介绍的是另外一个对象脚本语言BeanShell(http://www.beanshell.org)。
BeanShell的解释器是用Java写的,开源并且免费的 ...
generator自动生成ibatis代码
- 博客分类:
- ibatis
MBG有一个配置文件generatorConfig.xml。在里面设置连接数据库配置、javaModel、sqlMap、javaClient,table
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/my ...
java类获取spring容器
- 博客分类:
- spring
常用的5种获取spring 中bean的方式总结:
方法一:在初始化时保存ApplicationContext对象
ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml");
ac.getBean("beanId");
ApplicationContext ac = new ClassPathXmlApplicat ...