本帖最后由 我是色色 于 2017-12-20 10:33 编辑
基于annotation方案 第一步:编写目标 在spring的配置文件中配置扫描注解 第二步:编写增强(advice)使用@Aspect来声明切面 使用@Before来声明前置通知 注意:必须在spring的配置文件中开启aspectJ注解自动代理功能。 第三步:测试其它通知类型及参数后置通知 环绕通知 异常抛出通知 最终通知 使用@Pointcut注解定义切点在每一个通知中定义切点,工作量大,不方便维护,我们可以使用@Pointcut来声明切点 切点允许逻辑运算例如mypointcut()||mypointcut1 关于代理方式选择Proxy-target-class默认值是false,代表的是如果目标是有接口的使用proxy代理,如果没有接口使用cglib. 如果将proxy-target-class=true,不管目标是否有接口,都会使用cglib进行代理。 Spring jdbc TemplateSpring提供了一个jdbc模板,它类似于dbutils工具。 问题:如何使用spring jdbc template? 第一:要导入相关的jar包 在这个基础上我们还需要导入 还需要导入相关的数据库驱动jar包。 第二:spring jdbc template快速入门 快速入门第一步:导入相关jar包,创建了一个JdbcTemplateTest1测试类 第二步:创建库与表 CREATE DATABASE springtest; USE springtest; CREATE TABLE t_user( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT, sex VARCHAR(20) ) INSERT INTO t_user VALUES(NULL,'tom',20,'男'); INSERT INTO t_user VALUES(NULL,'fox',30,'男'); INSERT INTO t_user VALUES(NULL,'tony',40,'男'); SELECT * FROM t_user; 第三步:编码 配置spring内置的连接池DriverManagerDataSource C3P0开源连接池配置1. 导入c3p0相关的jar包 2. 创建一个ComboPoolDataSource对象,设置相关的属性 引入外部属性文件Spring支持将经常修改属性,在properties文件中声明,在xml配置文件中引入外部的properties文件的信息。 在applicationContext.xml文件中引入 在自己配置中需要从properties文件中引入的信息可以使用${name}方式来获取 JdbcTemplate CRUD执行insert update delete操作只需要使用JdbcTemplate的update方法就可以执行insert update delete操作 执行select操作简单数据返回 复杂数据返回注意:如果只返回一个domain对象,可以使用queryForObject方法,如果返回的是List<?>对象,可以使用query方法,但是都需要使用RowMapper来对ResultSet进行处理。 RowMapper它有一个实现类叫BeanPropertyRowMapper 如果使用BeanPropertyRowmapper,实体类必须提供一个无参数的public构造方法,类中的bean属性名称与表中的列要对应 注意:这个类是在spring2.5后提供。 Spring 事务管理案例—转账操作创建一个关于帐户表CREATE TABLE account( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), money DOUBLE ) INSERT INTO account VALUES(NULL,'tom',1000); INSERT INTO account VALUES(NULL,'fox',1000); 创建service与dao对于数据的操作使用spring jdbc template 关于service与dao的配置我们让dao去extends JdbcDaoSupport类,这个类中它创建了JdbcTempate,前提是我们需要注入一个dataSource. 在dao中在获取JdbcTemplate可以使用父类提供的getJdbcTemplate方法来获取。 转账操作的问题如果在转账操作过程中出现问题,那么转账会出现问题,结果如下 也就是我们程序需要事务控制。
{:8_507:}
{:8_507:}
三大框架之Bean的属性注入-9
三大框架之Spring课堂笔记-8三大框架之Hibernate事务管理7(下)
三大框架之Hibernate注解开发-7(上)
三大框架之Hibernate持久化类与主键生成策略-6
三大框架之Hibernate常用API-5
Java三大框架学习之Hibernate的配置详解-4(下)
JavaEE三大框架课堂笔记之Hibernate快速入门-4(上)
三大框架之Struts2-3
三大框架之Struts2-2
三大框架之Struts2-1
线程精进指南之线程池进阶15个顶级Java多线程面试题及答案
Java String 面试题以及答案
Java IO流学习总结
14个你可能不知道的JavaScript调试技巧
Spring多个AOP执行先后顺序
认识JavaScript中的this |