黑马程序员:三大框架11天笔记全之Spring-day10笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑马程序员:三大框架Spring-day10笔记基于annotation方案
第一步:编写目标
在spring的配置文件中配置扫描注解
第二步:编写增强(advice)
使用@Aspect来声明切面
使用@Before来声明前置通知
注意:必须在spring的配置文件中开启aspectJ注解自动代理功能。
第三步:测试
其它通知类型及参数
后置通知
环绕通知
异常抛出通知
最终通知
使用@Pointcut注解定义切点
在每一个通知中定义切点,工作量大,不方便维护,我们可以使用@Pointcut来声明切点
切点允许逻辑运算例如mypointcut()||mypointcut1
关于代理方式选择
Proxy-target-class默认值是false,代表的是如果目标是有接口的使用proxy代理,如果没有接口使用cglib.
如果将proxy-target-class=true,不管目标是否有接口,都会使用cglib进行代理。
第1章Spring jdbc Template
Spring提供了一个jdbc模板,它类似于dbutils工具。
问题:如何使用spring jdbc template?
第一:要导入相关的jar包
在这个基础上我们还需要导入
还需要导入相关的数据库驱动jar包。
第二:spring jdbc template快速入门
1.1快速入门
第一步:导入相关jar包,创建了一个JdbcTemplateTest1测试类
第二步:创建库与表
第三步:编码
1.2配置spring内置的连接池
DriverManagerDataSource
1.3C3P0开源连接池配置
1.导入c3p0相关的jar包
2.创建一个ComboPoolDataSource对象,设置相关的属性
1.4引入外部属性文件
Spring支持将经常修改属性,在properties文件中声明,在xml配置文件中引入外部的properties文件的信息。
在applicationContext.xml文件中引入
在自己配置中需要从properties文件中引入的信息可以使用${name}方式来获取
1.5JdbcTemplate CRUD
1.5.1执行insert update delete操作
只需要使用JdbcTemplate的update方法就可以执行insert update delete操作
1.5.2执行select操作1.5.
2.1简单数据返回
1.5.
2.2复杂数据返回
注意:如果只返回一个domain对象,可以使用queryForObject方法,如果返回的是List>对象,可以使用query方法,但是都需要使用RowMapper来对ResultSet进行处理。
RowMapper它有一个实现类叫BeanPropertyRowMapper
第2章Spring 事务管理
2.1案例—转账操作
2.1.1创建一个关于帐户表
2.1.2创建service与dao
对于数据的操作使用spring jdbc template
2.1.3关于service与dao的配置
我们让dao去extends JdbcDaoSupport类,这个类中它创建了JdbcTempate,前提是我们需要注入一个dataSource.
在dao中在获取JdbcTemplate可以使用父类提供的getJdbcTemplate方法来获取。
2.1.4转账操作的问题
如果在转账操作过程中出现问题,那么转账会出现问题,结果如下
也就是我们程序需要事务控制。