![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java技术
海盗船长u010662668
这个作者很懒,什么都没留下…
展开
-
Mybatis下动态sql中##和$$区别
一、介绍 mybatis 中使用 Mapper.xml里面的配置进行 sql 查询,经常需要动态传递参数,例如我们需要根据用户的姓名来筛选用户时,sql 如下:[java] view plain copy select * from user where name = "Jack"; 上述 sql 中,我们转载 2017-03-20 14:46:57 · 5314 阅读 · 0 评论 -
Spring架构详解之SpringAOP如何实现
从前面代理的原理我们知道,代理的目的是调用目标方法时我们可以转而执行InvocationHandler类的invoke方法,所以如何在InvocationHandler上做文章就是Spring实现Aop的关键所在。Spring的Aop实现是遵守Aop联盟的约定。同时Spring又扩展了它,增加了如Pointcut、Advisor等一些接口使得更加灵活。下面是Jdk动态代理的类图:转载 2017-03-16 10:41:41 · 257 阅读 · 0 评论 -
Spring架构详解之Spring设计模式分析之代理模式
代理模式原理代理模式就是给某一个对象创建一个代理对象,而由这个代理对象控制对原对象的引用,而创建这个代理对象就是可以在调用原对象是可以增加一些额外的操作。下面是代理模式的结构:代理模式的结构Subject:抽象主题,它是代理对象的真实对象要实现的接口,当然这可以是多个接口组成。ProxySubject:代理类除了实现抽象主题定义的接口外,还必须持有所代理对象的引用R转载 2017-03-16 10:42:21 · 530 阅读 · 0 评论 -
Spring架构详解之Spring设计模式分析之策略模式
策略模式原理策略模式顾名思义就是做某事的策略,这在编程上通常是指完成某个操作可能有多种方法,这些方法各有千秋,可能有不同的适应的场合,然而这些操作方法都有可能用到。各一个操作方法都当作一个实现策略,使用者可能根据需要选择合适的策略。下面是策略模式的结构:策略模式的结构Context:使用不同策略的环境,它可以根据自身的条件选择不同的策略实现类来完成所要的操作转载 2017-03-16 10:43:01 · 633 阅读 · 0 评论 -
Struts2工作原理解析
struts2框架是SSH框架集中的框架之一,是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器层(Controller)来建立模型与视图的数据交互。 在使用struts2框架的过程中,需要两个配置文件,分别为web.xml和struts.xml,服务器一启动就加载web.xml的配置,web.xml启动时,在Stru原创 2017-03-16 13:49:14 · 12990 阅读 · 0 评论 -
深入解析SpringMVC的工作原理
在讲springMVC之前我们先来看一下什么是MVC模式MVC:MVC是一种设计模式MVC的原理图: 分析:M-Model 模型(完成业务逻辑:有javaBean构成,service+dao+entity)V-View 视图(做界面的展示 jsp,html……)C-Controller 控制器(接收请求—>调用模型—>根据结果派发页面)原创 2017-03-16 13:48:18 · 700 阅读 · 0 评论 -
SpringMVC与Struts2对比
目前企业中使用SpringMvc的比例已经远远超过Struts2,那么两者到底有什么区别,是很多初学者比较关注的问题,下面我们就来对SpringMvc和Struts2进行各方面的比较:1.核 心控制器(前端控制器、预处理控制器):对于使用过mvc框架的人来说这个词应该不会陌生,核心控制器的主要用途是处理所有的请求,然后对那些特殊的请求 (控制器)统一的进行处理(字符编码、文件上传、参数接受转载 2017-03-16 13:50:18 · 340 阅读 · 0 评论 -
Mybatis实现原理深入解析
原理分析之一:从JDBC到Mybatis1.引言本文主要讲解JDBC怎么演变到Mybatis的渐变过程,重点讲解了为什么要将JDBC封装成Mybaits这样一个持久层框架。再而论述Mybatis作为一个数据持久层框架本身有待改进之处。2.JDBC实现查询分析我们先看看我们最熟悉也是最基础的通过JDBC查询数据库数据,一般需要以下七个步骤:转载 2017-03-16 14:48:28 · 414 阅读 · 0 评论 -
Java 核心包介绍
java.lang: 这个包下包含了Java语言的核心类,如String、Math、Sytem和Thread类等,使用这个包无需使用import语句导入,系统会自动导入这个包中的所有类。java.util: 这个包下包含java的大量工具类/接口和集合框架类/接口。如Arrays和List、Set等。java.net: 这个包下包含了一些Java网络编程相关的类/接口。jav原创 2017-05-15 15:22:28 · 6646 阅读 · 0 评论 -
Java中堆、栈和堆栈区别
1.栈(stack)与堆(heap)都是Java用来在Ram中存放数据的地方。与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆。 2. 栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。但缺点是,存在栈中的数据大小与生存期必须是确定的,缺乏灵活性。另外,栈数据可以共 享,详见第3点。堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,Jav转载 2017-05-15 15:23:51 · 539 阅读 · 0 评论 -
web.xml中Filter,Listener,Servlet的区别
web.xml中Filter,Listener,Servlet的区别一、ServletServlet是基本的服务端程序,他来自接口Servlet,接口中有方法service。而Servlet的一个重要实现类,则是tomcat服务器的核心,那就是HttpServletHttpServlet有方法:public abstract class HttpServle转载 2017-08-03 15:44:56 · 257 阅读 · 0 评论 -
Spring架构详解之动态代理的实现原理
前面介绍了Spring容器的构建过程,那Spring能为我们做什么,Spring的Ioc容器又能做什么呢?我们使用Spring必须要首先构建Ioc容器,没有它Spring无法工作,ApplicatonContext.xml就是Ioc 容器的默认配置文件,Spring的所有特性功能都是基于这个Ioc容器工作的,比如后面要介绍的AOP。Ioc它实际上就是为你构建了一个魔方,Spring为你搭好转载 2017-03-16 10:41:00 · 857 阅读 · 0 评论 -
Spring架构详解之Ioc容器的扩展点
现在还有一个问题就是如何让这些Bean对象有一定的扩展性,就是可以加入用户的一些操作。那么有哪些扩展点呢?Spring又是如何调用到这些扩展点的?对Spring的Ioc容器来说,主要有这么几个。BeanFactoryPostProcessor,BeanPostProcessor。他们分别是在构建BeanFactory和构建Bean对象时调用。还有就是InitializingBean和Dis转载 2017-03-16 10:40:18 · 472 阅读 · 0 评论 -
Spring架构详解之创建Bean实例并构建Bean的关系网
下面是Bean的实例化代码,是从finishBeanFactoryInitialization方法开始的。1234567891011121314151617181920212223转载 2017-03-16 10:39:36 · 428 阅读 · 0 评论 -
Java中JVM详解
作为Java开发者,掌握JVM的体系结构也是必须的,谈起Java,我们能够想到的它是一门开发语言,但实际上,Java是一种技术,它由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Java API),他们之间关系如下图所示:运行期环境代表着Java平台,开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件原创 2017-03-22 17:16:08 · 435 阅读 · 0 评论 -
java 线程中wait和notify使用讲解
1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。 2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁,或者叫管程) 3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的monitor,则只能唤醒其中一转载 2017-03-15 17:12:36 · 397 阅读 · 0 评论 -
Spring架构详解之Spring总体架构与设计理念
Spring的总体架构Spring总共有十几个组件,但是真正核心的组件只有几个,下面是Spring框架的总体架构图:Spring框架的总体架构图从上图中可以看出Spring框架中的核心组件只有三个:Core、Context和Beans。它们构建起了整个Spring的骨骼架构。没有它们就不可能有AOP、Web等上层的特性功能。下面也将主要从这三个组件入手分析Sprin转载 2017-03-16 10:32:03 · 402 阅读 · 0 评论 -
Spring架构详解之Spring内部组件的作用和关系
前面说Bean是Spring中关键因素,那Context和Core又有何作用呢?前面吧Bean比作一场演出中的演员的话,那Context就是这场演出的舞台背景,而Core应该就是演出的道具了。只有他们在一起才能 具备能演出一场好戏的最基本的条件。当然有最基本的条件还不能使这场演出脱颖而出,还要他表演的节目足够的精彩,这些节目就是Spring能提供的特色功能了。我们知道Bean包装的是Obj转载 2017-03-16 10:33:02 · 882 阅读 · 0 评论 -
Spring架构详解之Bean组件详解
前面已经说明了Bean组件对Spring的重要性,下面看看Bean这个组件式怎么设计的。Bean组件在Spring的org.springframework.beans包下。这个包下的所有类主要解决了三件事:Bean的定义、Bean 的创建以及对Bean的解析。对Spring的使用者来说唯一需要关心的就是Bean的创建,其他两个由Spring在内部帮你完成了,对你来说是透明的。SpringB转载 2017-03-16 10:33:47 · 618 阅读 · 0 评论 -
Spring架构详解之Context组件详解
Context在Spring的org.springframework.context包下,前面已经讲解了Context组件在Spring中的作用,他实际上就是给Spring提供一个运行时的环境,用以保存各个对象的状态。下面看一下这个 环境是如何构建的。ApplicationContext是Context的顶级父类,他除了能标识一个应用环境的基本信息外,他还继承了五个接口,这五个接口主要是扩转载 2017-03-16 10:34:32 · 1299 阅读 · 0 评论 -
Spring架构详解之Core组件详解
Core组件作为Spring的核心组件,他其中包含了很多的关键类,其中一个重要组成部分就是定义了资源的访问方式。这种把所有资源都抽象成一个接口的方式很值得在以后的设计中拿来学习。下面就 重要看一下这个部分在Spring的作用。下图是Resource相关的类结构图:Resource相关的类结构图从上图可以看出Resource接口封装了各种可能的资源类型,也就是对使用者转载 2017-03-16 10:36:15 · 1086 阅读 · 0 评论 -
Spring架构详解之IOC容器的构建
Ioc容器实际上就是Context组件结合其他两个组件共同构建了一个Bean关系网,如何构建这个关系网?构建的入口就在AbstractApplicationContext类的refresh方法中。这个方法的代码如下:12345678910111213141转载 2017-03-16 10:37:45 · 301 阅读 · 0 评论 -
Spring架构详解之BeanFactory的创建-上
下面是更新BeanFactory的方法代码:1234567891011121314151617181920212223242526272829转载 2017-03-16 10:38:24 · 1802 阅读 · 0 评论 -
Spring架构详解之BeanFactory的创建-下
Bean的解析和登记流程时序图如下:解析和登记Bean对象时序图创建好BeanFactory后,接下去添加一些Spring本身需要的一些工具类,这个操作在AbstractApplicationContext的prepareBeanFactory方法完成。AbstractApplicationContext中接下来的三行代码对Spring的功能扩展性起了至关重要的作用转载 2017-03-16 10:38:59 · 689 阅读 · 0 评论 -
java集合讲解
集合是java.util包下提供的工具类一、集合与数组区别数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口Collection原创 2017-10-13 16:58:20 · 291 阅读 · 0 评论