博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
7.6日总结
阅读量:7087 次
发布时间:2019-06-28

本文共 3846 字,大约阅读时间需要 12 分钟。

一、事务

事务:通俗理解,事务其实就是一系列指令的集合。

事务的四个特性:

  1. 原子性:操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。
  2. 一致性:事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。
  3. 隔离性:在该事务执行的过程中,无论发生的任何数据的改变都应该只存在于该事务之中,对外界不存在任何影响。只有在事务确定正确提交之后,才会显示该事务对数据的改变。其他事务才能获取到这些改变后的数据。
  4. 持久性:当事务正确完成后,它对于数据的改变是永久性的。

事务的实现模式:

       1、代码嵌入式

       2、事务声明式

spring提供了aop对业务层的事务实现(声明式事务处理),aop的整个过程:

transactionManager对象(表示的是jdbc的事务处理)=通用方法,service层的业务方法=业务方法。

事务配置:

1 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 27 28
29
30
31
36
37
38
39
40
41
42

将三层架构中的dao层(mapper接口)以及业务层加入到spring中。(开启包的扫描,就是直接将一个包里所有的类扫描到spring中),首先扫描mapper代理对象(就是dao层),然后扫描service层(里面会用到自动装配)

1 
2
3
4
9
10
11
12
13
14
15

 

service层的配置:

1 @Transactional//注解类 2 @Service//注解声明是service层 3 public class UserInfoService { 4     //注入的dao层 5     @Autowired 6     private UserInfoMapper userInfoMapper; 7     private GoodsInfoMapper goodsInfoMapper; 8     public List
getallusers(){ 9 return userInfoMapper.getlist();10 }11 12 public int adduser(UserInfo u){13 return userInfoMapper.additem(u);14 }15 16 @Transactional(propagation=Propagation.NOT_SUPPORTED)//不加入事务控制17 public List
allusers(){18 return userInfoMapper.getlist();19 }20 21 }

二、spring Mvc

Spring Mvc开发步骤:

1、引入java包

2、根据springmvc的执行流程,首先需要配置前端控制器,前端控制器配置在web.xm中。前端控制器就是一个servlet 

1 
2
3
springmvc2
4
org.springframework.web.servlet.DispatcherServlet
5
6
contextConfigLocation
7
classpath:springmvc.xml
8
9
1
10
11
12
springmvc2
13
*.action
14

注意:1)关于前端控制器中的url路径的匹配为什么会采用*.action.

   如果是采用/*,那么会将由控制器转发的jsp页面也会进入到前端控制器的拦截中,然后会映射相应的控制器,

   这样就会导致找不到相应的控制器出错。

3、开发springmvc.xml的配置文件

1 
2

4、SSM框架整合的时候,需要在web启动的时候就需要加载applicationContext.xml,也是在web.xml里配置监听器。

1 
2
org.springframework.web.context.ContextLoaderListener
3
4
5
contextConfigLocation
6
classpath:applicationContext.xml
7

5、编写controller(控制器需要继承自Controller接口)

1 public class UserInfoController implements Controller{
//继承控制器接口 2 private UserInfoService userInfoService; 3 4 public UserInfoService getUserInfoService() { 5 return userInfoService; 6 } 7 8 public void setUserInfoService(UserInfoService userInfoService) { 9 this.userInfoService = userInfoService;10 }11 12 @Override13 public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {14 List
list=userInfoService.allusers();//调用业务层的方法15 ModelAndView modelAndView=new ModelAndView();//16 modelAndView.addObject("list",list);//给视图传递的模型数据17 modelAndView.setViewName("/users.jsp");//把数据响应给页面,所以modelandview存储了model的数据还有页面转发的地址。18 return modelAndView;19 }20 21 }

6、编写bean对象:

1 
2
3
4
5
6

 

转载于:https://www.cnblogs.com/gongxuanming/p/7128602.html

你可能感兴趣的文章
Confluence 6 外部参考
查看>>
Linux磁盘分区-GPT分区
查看>>
gRPC在c#中的使用(服务端)
查看>>
Python之sys模块
查看>>
Eclipse+Maven+Nexus+Hudson+Svn自动部署
查看>>
通讯与互联网行业软件项目运作的一些不同
查看>>
Mantis 企业邮箱配置
查看>>
android-魔法泡泡动画分析(附源码)
查看>>
深入JVM专题
查看>>
Mac下如何安装配置Homebrew
查看>>
普通用户安装zabbix监控服务
查看>>
Nginx安装
查看>>
javascript构造对象的全过程
查看>>
Java 调用截图功能
查看>>
Mac OS X El Capitan 关闭sip
查看>>
【学习笔记】Android性能优化----->内存优化
查看>>
Java OSGL 工具库 - Bean 拷贝的艺术
查看>>
Windows的结构化异常处理 .
查看>>
不安装Oracle客户端也能使用PL/SQL
查看>>
我的友情链接
查看>>