Spring学习笔记专题二

作者: Hughman | 来源:发表于2017-07-17 23:02 被阅读505次

专题二

(1)使用注解来完成AOP:

1,想办法把类让Spring来管理(XML配置或者注解方式)

2,在增强的提供类上添加标签:

3,在Spring配置文件中开启注解的AOP;

4,关于AOP的其他知识:

1,在增强提供类的方法上,这些方法的第一参数都可以设置为org.aspectj.lang.JoinPoint;可以通过这个JoinPoint获得本次运行的方法相关信息;

2,针对异常通知,我们如果想获得抛出异常的相关信息:

5,选择:

一般在项目开发中,我们推荐使用XML的方式来完成AOP;

更直观和通用;

(2)为什么选择SpringJDBC?

1,SpringJDBC能做些什么事情

2,SpringJDBC和传统JDBC对比

3,SpringJDBC的使用方式:

0:拷贝SpringJDBC相关jar包(spring-jdbc.jar   spring-tx.jar)

1,SpringJDBC的准备工作,配置DataSource;

2,需要准备的db.properties:

3,实现自己的DAO:

接口---实现类

在DAO的方法中使用JdbcTemplate来调用即可:

三种查询结果集的处理方式:

3,SpringJDBC还为我们提供了什么?

要使用JdbcTemplate,需要自己通过DataSource创建JdbcTemplate;代码重复;

在Spring中,为我们提供了一个JdbcDaoSupport类,在这个类中,帮我们完成了重复代码;

所以,我们的DAO只需要继承JdbcDaoSupport就可以了;但是注意,DAO一定要注入一个datasource

(3)Spring中集成其他持久化框架的一般策略:

XXXX(Jdbc)Template+XXXX(Jdbc)DaoSupport

在XXXX(Jdbc)Template提供方便的方法;

在XXX(Jdbc)DaoSuppoert重复XXXX(Jdbc)Template的注入过程;

(4)Spring中的事务管理

1)事务为什么要开在service上?

如果事务不开在service上,而放在dao里面,每一个dao方法都是一个独立的事务;如果一个service需要使用到多个dao中的方法,如果在service中任何位置出错,都不能保证事务正确处理;

所以事务要在开在service方法上,并且,在service方法开始执行之前,得到Connection/Session,并开启事务,把Connection/session放到当前线程中;所有的DAO方法都应该从当前线程中获取Connection/Session,完成具体业务的处理,在Service方法执行结束的时候,从当前线程中拿到Connection/Session,做提交/回滚操作;最后关闭资源;

2)Spring中事务相关的重要对象:

1,PlatformTransactionManager:平台的事务管理器;在这个接口中抽象了事务管理的一般方法:开启/提交/回滚;

为什么需要TranscationManager?屏蔽不同持久化层的事务处理机制;

2,TransactionDefinition:

在这个类中定义了:定义了一个事务相关的属性;Spring会根据这个事务相关的属性来控制事务(通过配置告诉Spring的);

PROPAGATION_XX:事务的传播机制;

ISOLATION_XX:事务的隔离级别;

3,TransactionStatus:在Spring中,一个TranscationStatus代表一个事务的状态(简单理解为,TransactionStatus就是一个事务的包装);

3)Spring中提供的TranscationManager(TranscationManager提供了AOP控制事务中的DO什么):

4,Spring中事务AOP控制:

1,既然是AOP控制事务,包括在什么地方,什么时间,做什么;

1,做什么:TransactionManager;

2,在什么地方:Point-cut,切入点应该是切在Service方法上;

3,在什么时间?tx:advice

2,配置(XML,Annotation)

0:引入事务相关的schema

1,XML配置Spring事务;

配置transcationManager

2,配置一个事务相关的控制(在什么时间+做什么)

3,配置一个AOP:

4,tx:attribute

5,事务传播机制:(怎么处理当前已有的事务;)

REQUIRED也是默认的事务传播规则

6,使用Ann配置:

1,在类或者方法上面直接加上@Transcational标签即可;

2,在配置文件中添加

7,选择:

强烈建议使用XML的方式;

(5)SSH集成:

1)创建项目;修改编码;修改class编译目录;

2)创建Domain;

3)创建hibernate映射文件;

4)创建DAO接口;

5)hibernate和Spring集成;

1,拷贝相关jar包;

2,创建Spring配置文件;

1.创建一个db.properties;

2.01_引入db.properties

3.02_配置datasource

4.03_配置sessionfactory

6)实现DAO(自己维护HibernateTemplate)

7)配置DAO

8)创建Service接口;

9)实现service接口;

10)配置service;

11)配置hibernate的事务;

1,配置一个事务管理器;

2,配置一个tx:advice(方法上面的事务属性)

3,配置一个AOP包装事务

12)做一个测试(等service弄完直接测试service)

13)struts和spring集成;

1,拷贝struts相关jar包

2,完成action

3,配置struts2

4,正常完成页面相关内容

5,在web.xml中配置struts相关过滤器;

6,struts2和Spring集成原理

1.拷贝struts2-spring-plugin-xxxx.jar;

2.查看struts-plugins.xml

相关文章

  • Spring学习笔记专题二

    专题二 (1)使用注解来完成AOP: 1,想办法把类让Spring来管理(XML配置或者注解方式) 2,在增强的提...

  • Spring学习笔记专题一

    专题一(1)Spring Framework Runtime 遇到的问题:1,业务代码都使用接口,按照接口编程,能...

  • Spring Boot 学习笔记

    Spring Boot 学习笔记 源码地址 Spring Boot 学习笔记(一) hello world Spr...

  • 技术网站统计

    SpringSpring 中文手册Spring 教程Spring For AllSpring 学习笔记Spring...

  • Spring框架-学习笔记2

      该学习笔记是《尚学堂spring视频教程》的学习笔记第二部分。 6、依赖注入 依赖注入(dependency ...

  • spring 学习笔记(二)

    DI (dependence inject): 依赖注入 可以理解为对象的依赖关系由spring管理。也可以更直接...

  • Spring学习笔记 (二)

    目录:注:由于简书不支持锚点操作,因此不能直接跳转到各个连接处,各位需要慢慢往下翻。属性注入注入对象类型属性p名称...

  • Spring 全量知识点笔记

    学习spring的学习笔记,持续更新中~~~ Spring是什么 Spring是一个以IoC(Inversion ...

  • 统一配置

    spring cloud学习笔记 上文 学习使用Docker下文 RabbitMQ的基本使用 由于 spring ...

  • Spring学习笔记(二、Spring框架)

    上一篇:Spring学习笔记(一、Spring概况) 什么是(软件)框架 维基百科:软件框架,通常指的是为了实现某...

网友评论

    本文标题:Spring学习笔记专题二

    本文链接:https://www.haomeiwen.com/subject/pfzawttx.html