spring等框架相关梳理

spring是什么以及它的优点?

spring是一个轻量级的ioc和aop容器框架  提供对事务的管理  是框架与框架的粘合剂。

IOC:

代表控制反转 以前是对象控制其他对象 现在所有的对象被spring控制 把对象注入到bean里 叫动态注入。

以前使用jsp和servlet进行开发 需要自己new对象  这样比较占内存 new一次就创建一次对象 

现在交给spring进行管理后 不管访问多少次都只创建一次对象 它是单例的 性能高

AOP:

面向切面的编程 本质是拦截器 管理事务 日志 权限等 

比如 操作数据库增删改需要开启事务 之后需要提交事务 这样就可用动态代理实现前置通知和后置通知

前置管理开启事务后置提交事务 spring的事务管理就用到了AOP

 

spring的注入方式?

1.setter注入  定义set get方法 在Bean里注入

2.构造注入 定义注入的变量 写有参构造将参数定义进来

<constructor-arg ref="user"></constructor-arg> ref定义其他标签name的值

 

Springmvc和struts2区别?

1.springmvc通过servlet方法进行拦截   struts2通过fitle(拦截器)方式拦截

2.springmvc非侵入式  struts2是侵入式必须继承类

3.springmvc是方法级别上调用  struts2需要通过类来方法调用 比如userAction/list

4.springmvc零配置 在controller类和方法上只需要加上注解 即可调用  struts2无法使用注解 写一个action就要配置一遍 非常繁琐

5.返回值那里springmvc加@responBody   struts2需要手动转换

 

Hibernate和Mybatis区别?

1.hibernate标准orm框架  Mybatis不完全orm框架

2.hibernate自动生成sql  Mybatis自己写映射

3.  hibernate dao层开发简单 效率高但性能差 二级缓存 移植性好  Mybatis需要自己维护 容器掌握

 

Mybatis的#与$的区别?

#在组成sql语句默认把参数#{id}变为字符串  id='2'  可以防止sql注入

$不会把字符当字符串处理 是什么就是什么 用于数据库对象 如表名

 

Mybatis的缓存机制?

缓存就是把查询到的数据放到内存中 下次不用去数据库拿。

又分一级缓存和二级缓存

一级缓存是SQLSession级别的缓存 第一次执行后将结果写到缓存 下次直接拿 一级缓存默认开启

二级缓存SessionFactiory 效果也是一样的

 

hibernate中Java的状态对象有哪些?

1.临时状态(新建状态):不处于session

2.持久化状态:加入到session缓存

3.游离状态:已被持久化 不在session缓存中

 

hibernate中getCurrentSession()和openSession()的区别?

1.getCurrentSession()是查看线程有没有绑定session 有就返回没有就创建

openSession()直接new一个新的返回

2.getCurrentSession()事务提交自动关闭session

openSession()需要手动关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值