1.mybatis中两种取值方式?

  回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ 和 # , # 是 我们最常用的方式。 我们都说Mybatis是封装了JDBC,所以两种方式的区别还要从JDBC上来说, # 实际上是封装了问号占位符赋值的 方式,会使用JDBC中的PreparedStatement,变量处用?号代替,防止SQL注入。 $ 直接拼接到sql语句中,值没有任何修饰,存在sql注入风险。 项目中 用 # 比较多,一般 # 和 $ 会配合使用。如果取值去的是字段名的时候,需要使用到 $ ,如:排序 order by ${列名} "列名" 案例: 使用#符号,如 select * from test where value=#{param} 传入参数param=”hello”后,实际生成 select * from test where value='hello' 。 使用$符号,$表示原本的字符串,即传什么参数,SQL中就填入什么。如 select * from test order by # {param} 传入参数param=”time”后,实际生成 select * from test order by time 。

2.谈谈Spring框架理解?

IOC

  IOC:inversion of controll 控制反转,就是将原来通过new 关键字创建对象的权力,交给spring由工厂创建对象。 DI:(dependcy Injection) 依赖注入,Spring工厂不仅要创建对象 还维护类与类之间 类类中属性之间依赖关系 。 IOC和DI实际上是等同的概念,如果要进行区分的话,IOC和DI可以理解为同一个东西的不同角度看法,IOC 站在程序员的角度,以前创建对象是我们自己new出来的,现在让容器自己创建,控制权交给了容器,对于 我们来说控制权反转了。 DI是站在容器的角度,从Spring角度来看,用到的所有的对象都是自己创建的,并且对象在创建的时候需要 依赖的参数也是容器注入的,而这种维持对象之间依赖关系的方式就是依赖注入。 所以IOC和DI实际上都是指容器负责创建对象和维护对象之间依赖关系的这种行为。

AOP

   AOP:(Aspect Oriented Programing)面向切面编程 就是通过为项目中某些类创建动态代理对象,通过动态代理对 象解决现有项目中通用问题,例如日志,性能记录。AOP代表的是一个横向的关系,程序是顺序执行的,可以简单理解为线性执行,自上而下,就象一条线,所 谓切面编程就是,在这条线的某一点(切点)处切开,放入另一个程序(增强处理),这个过程就是我们常 说的织入,而被切入处可以用几何常识形象的称之为切面。

Spring中生成代理方式几种,分别是什么,默认使用哪种,如何切换生成代理方式?

  回答:两种,JDK动态代理,基于接口(默认使用的jdk)。CGLIB,基于继承(要使用需要配置)。 配置aop true使用CGLIB产生代理对象 false 使用jdk 默认false。 JDK动态代理 由Java SDK提供,Java SDK动态代理的局限在于,它只能为接口创建代理,返回的代理对象也只能转换到某 个接口类型。 CGLIB动态代理 第三方库cglib提供,cglib的实现机制与Java SDK不同,它是通过继承实现的,它也是动态创建了一个类,但 这个类的父类是被代理的类。 通过代码模拟事务控制 JDK动态代理 Java SDK代理的是对象,需要先有一个实际对象,自定义的InvocationHandler引用该对象,然后创建一个代理类 和代理对象,客户端访问的是代理对象,代理对象最后再调用实际对象的方法 .Cglib动态代理 cglib代理的是类,创建的对象只有一个。

mybatis中两种取值方式?谈谈Spring框架理解?的更多相关文章

  1. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  2. map的两种取值方式

    public class MapUtil{ public static void iteratorMap1(Map m) { Set set=m.keySet();//用接口实例接口 Iterator ...

  3. UI:字典的两种取值的区别

    字典的两种取值的区别 (objectForKey: 和 valueForKey )参考 一般来说 key 可以是任意字符串组合,如果 key 不是以 @ 符号开头,这时候 valueForKey: 等 ...

  4. pig对null的处理(实际,对空文本处理为两种取值null或‘’)

    pig对文本null的处理非常特殊.会处理成两种null,还会处理成''这样的空值. 比方,读name,age,sex日志信息.name取值处理,假设记录为".,,"这样,会将na ...

  5. Spring中两种引入配置文件方式

    用过Spring的人都知道,我们一般把数据库的配置.日志的配置或者其他的通用配置放在单独的配置文件中,在和Spring整合时,一般通过以下两种方法引入: <context:property-pl ...

  6. Java中两种实现多线程方式的对比分析

    本文转载自:http://www.linuxidc.com/Linux/2013-12/93690.htm#0-tsina-1-14812-397232819ff9a47a7b7e80a40613cf ...

  7. python中两种栈实现方式的性能对比

    在计算机的世界中,同一个问题,使用不同的数据结构和算法实现,所使用的资源有很大差别 为了方便量化python中算法的资源消耗,对性能做测试非常有必要,这里针对stack做了python语言 下的性能分 ...

  8. Vue中两种跳转方式

    第一种:通过标签跳转,<router-link></router-link> 第二种:通过js跳转,定义点击事件进行跳转

  9. easyui-textbox input输入框的一种取值方式

    1.html文件 <td> <input id="clientPhone" type="text" name="clientPhon ...

随机推荐

  1. Spring框架基础解析

    Spring是一个轻量级的.非侵入式的容器框架:对Bean对象的生命周期进行管理. Spring框架的核心:IOC(控制反转).DI(依赖注入).AOP(面向切面编程). (1) IOC:控制反转. ...

  2. Linux 配置SSH免密登陆

    1.在hadoop01服务器上 通过ssh -keygen 生成公私钥  [ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa] 2.把公钥给hadoop02服务器 3. ...

  3. Java技术开发程序员如果在2019年立足

    2019年的互联网环境相对以往来说要更复杂一些,互联网领域也正在经历从消费互联网向产业互联网转型的阵痛期.其实不少公司从2018年开始已经在陆续进行结构化调整,这些调整中的重要内容就是岗位调整,而岗位 ...

  4. C putchar() 和 getchar()

    C 库函数 int getchar(void)   从 终端输入获取一个字符 : 返回值:该函数以无符号 char 强制转换为 int 的形式返回读取的字符,如果到达文件末尾或发生读错误,则返回 EO ...

  5. Day 23 面向对象(二)

    一.对象独有的名称空间 在产生对象时就赋初值 class Student: def __init__(self,name,sex): self.name = name self.sex = sex # ...

  6. [JAVA]字节流拷贝文件

    import java.io.*; public class CopyFile { public static void main(String[] args) { //1.创建源 File in = ...

  7. 关于怎样获取DevExpress GridView过滤后或排序后的数据集问题(转)

    GridView用自带的过滤功能过滤数据后,想要获取过滤后的数据集,有两种方式: 一.笨办法就是循环遍历GridView,根据gridView.GetRow()或者gridView.GetDataRo ...

  8. 导入tensorflow时DLL load failed: 找不到指定的模块

    简单暴力:卸载 重装 方法一: 先删除:pip uninstall tensorflow 再下载:pip install tensorflow 方法二: 也有可能是numpy版本不匹配的问题: 卸载: ...

  9. 工控随笔_07_西门子_WinCC利用命令行实现操作log日志

    在WinCC中可以通过报警纪录来实现操作员纪录,这个需要WinCC的消息系统进行组态和配置. 利用消息系统进行实现上诉功能不但复杂而且时间久啦也不方便查询.那么有没有一种简单的方法来 实现操作员纪录呢 ...

  10. 【PLM】【PDM】60页PPT终于说清了PDM和PLM的区别;智造时代,PLM系统10大应用趋势!

    https://blog.csdn.net/np4rhi455vg29y2/article/details/79266738