
◆框架结构
文章平均质量分 83
既过不念,未来不继
我所有的你,都只有一个你;我所有的我,都只有一个我。
展开
-
Spring 4.3.11.RELEASE文档阅读(二):Core Technologies_IOC
在看这部分内容的时候,想了一些问题:容器:1,什么是容器2,容器能做什么3,为什么需要容器4,常见的容器有什么(编程)5,怎么创建容器6,怎么使用容器原创 2017-09-30 19:56:01 · 486 阅读 · 0 评论 -
【SSM 8】spring集成Mybatis通用Mapper
上篇博客中介绍了关于Mybatis底层封装的思路问题,那么这篇博客,就介绍一下怎么引入通用的mapper插件。备注:环境是maven构建部署原创 2016-10-09 20:24:37 · 7879 阅读 · 22 评论 -
【SSM 3】Mybatis应用,和Hibernate的区别
PS:每次写概念性的总结,都是各种复制,各种粘,然后各种理解各种猜。但是这一步的总结,决定了我能够再这条路上走的远近和是否开心、是否创造!so,开启Ctrl A+Ctrl C的模式吧。接触到这个概念的时候,很熟悉的感觉又回来了。想起了那时候研究.NET的Entity Framework的时候,那时候,是我第一次接触到Hibernate和Mybatis,iBatis等等。因为当时将ORM原创 2016-09-18 11:50:17 · 1041 阅读 · 22 评论 -
【SSM 2】spring常用注解
声明:以下观点,纯依据个人目前的经验和理解,有不当之处,多指教!一、基本概述注解(Annotation):也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。首先,根据用途划分,可以简单的分为元注解和一般注解,其中元注解包括四个大类:1.@Ta原创 2016-09-18 11:01:49 · 3327 阅读 · 14 评论 -
【SSM 1】SpringMVC、Spring和Struts的区别
导读:近期做到的项目中,用到的框架师SSM(SpringMVC+Spring+Mybatis),那么在这之前用过SSH,这里主要是区分一下SpringMVC和Struts,但是由于SpringMVC和Spring真的也挺容易迷糊的,所以,本篇博客,就是区分一下这三者之间的关系,明确其具体所指,为接下来的框架搭建和应用做准备!说明:纯属个人观点一、Spring首先,结合到自己原创 2016-09-14 11:48:10 · 2742 阅读 · 19 评论 -
SSH环境搭建步骤解析
一、建立Java web project:AngelSSH二、引入jar包,必要清单如下:2.1,Struts2commons-fileupload 文件上传组件commons-io io包freemarker 一个基于模板生成文本输出的通用工具ognl 对象图导航语言struts2-core struts2核心包xwork-core原创 2016-08-17 17:09:22 · 961 阅读 · 16 评论 -
【Struts 2】Struts2环境搭建
一、关键步骤1、创建Java Web项目2、引入Struts2的依赖包,将依赖包拷贝到WEB-INF/lib下* commons-logging-1.0.4.jar* freemarker-2.3.15.jar* ognl-2.7.3.jar* struts2-core-2.1.8.1.jar* xwork-core-2.1.6.jar* commons-fileu原创 2016-07-21 11:16:23 · 668 阅读 · 17 评论 -
【Hibernate 5】继承映射配置及多态查询
一、继承实现的三种策略1.1,单表继承。每棵类继承树使用一个表(table per class hierarchy) ——>本文主要介绍的继承策略类继承树对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:1,父类用普通的标签定义,在父类中原创 2016-07-09 15:59:53 · 1407 阅读 · 1 评论 -
【Hibernate 4】一对多映射配置
一、一对多映射简介建立一对多关系关系的表的原则是将一的一方的主键加入到多的一方的表作为外键。这里以学生和班级为例子来演示。以前不用hibernate时建立pojo类要在学生类Student中加入一个属性,即班级编号classesid.使用hibernate则不同了,需要在“一”的一方类中加入一个set集合,里面存放“多”的一方的对象。而在“多”的一方的类中需要加入一个“一”方的对象。也就是说在原创 2016-07-09 11:58:13 · 870 阅读 · 1 评论 -
【Hibernate 3】一对一映射配置
一、一对一映射简介一对一关联映射有两种实现策略:第一种:主键关联,即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系;数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联第二种:唯一外键关联,外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系其中一对一的关联映射,又分为单向一对一映射和双向一对一映射,这里主原创 2016-07-08 21:16:47 · 619 阅读 · 1 评论 -
【SSM 4】Mybatis逆向生成工具
在上一篇博客中说到,Mybatis是灵活的SQL语句应用,不想Hibernate一样有其封装好的方法,那么,当我们用Mybatis的时候(Hibernate),我们都需要编写其实体类,和配置文件。本篇博客,就介绍一下Mybatis的逆向生成工具。一、思路回想一下,在最早运用EF的时候,我们首先通过可视化界面,连接数据库,然后选择要使用的表单,然后,我们就可以自动生成实体类。在运用H原创 2016-10-03 11:13:27 · 3781 阅读 · 13 评论 -
【SSM 5】Mybatis分页插件的使用
一、添加maven依赖项 com.github.miemiedev mybatis-paginator com.github.pagehelper pagehelper版本号:3.4.2-fix1.2.15二、Mybatis配置文件(SqlMapConfig.xml)增加分页插件<!DOCTYPE configuration PUBLIC "-//m原创 2016-10-03 21:25:07 · 5861 阅读 · 29 评论 -
Spring 4.3.11.RELEASE文档阅读(二):Core Technologies_AOP
虽然并不是每个问题都有答案,但我想了很多问题。so, just write it down , maybe one day......AOP:1,AOP是啥2,AOP思想是怎么产生的3,AOP和其他思想的区别4,AOP带来的意义是什么5,AOP是否有弊端,如有,当如何规避;如无,该怎样去更好的践行SpringAOP:1,Spring是如何实现AOP的原创 2017-10-01 08:51:56 · 315 阅读 · 0 评论 -
Spring 4.3.11.RELEASE文档阅读(一):overview
一、宏观概述中的体会和发现Spring是组件式的框架,它允许我们只使用其一小部分。Spring所做的工作,就是不断的简化我们的操作。比如它的IOC容器,当我们自己应用设计模式,比如说:建造者、工厂、单例等,也可以实现IOC的功能,但正如Spring的使命一样:它帮我们进行封转简化,我们只需要关注业务逻辑实现!由于我个人也是个java EE的guardians,我一个很深的体会就是:原创 2017-09-27 08:55:05 · 931 阅读 · 2 评论 -
[设计模式 3] 用设计模式的眼光看MVC框架
导读:之前一直在区分MVC和设计模式的区别,但是,既然有些人认为MVC是一种设计模式,那么它们之间肯定是有共通之处的。所以,本篇博客,就用设计模式的眼光来看MVC框架。仅是本人对于MVC的粗鄙看法,还请路过的高人指教。一、总体概述首先,不得不承认的是,设计模式和框架是完全不同的两个概念。这个请看:【设计模式 2】设计模式的来源,及其相混淆的模型、框架、架构区别其次,框架可以有多原创 2016-04-21 22:07:41 · 1030 阅读 · 22 评论 -
【MVC 2】MVC+EF框架结构实例:注册ID号验证
导读:本篇博客,将通过一个实例,详细介绍MVC+EF的应用。原理性的东西或者说是进一步的解耦和,请看博客:【框架结构 3】MVC+EF实体框架—原理解析。在这里,仅用MVC框架和一个EF生成的Model层,来实现ID号注册验证。一、实例介绍1.1:结构说明主要是应用MVC+EF的框架,实现注册ID号的验证,当注册ID已存在时,提示用户。在这里面特别说明的是:1,实现向数据库的访问原创 2015-12-01 14:26:19 · 1834 阅读 · 6 评论 -
【MVC 1】MVC+EF实体框架—原理解析
导读:在之前,我们学过了三层框架,即:UI、BLL、DAL。我们将页面显示、逻辑处理和数据访问进行分层,避免了一层、两层的混乱。而后,我们又在经典三层的基础上,应用设计模式:外观、抽象工厂+反射,使得经典三层演变为了七层,在一定程度上降低了U层和B层,B层和D层的耦合。可是,怎样解决D层和数据库之间的耦合?在三层操作中,D层都是直接访问数据库而对数据进行操作,在面向对象的应用中,这似乎显得不太原创 2015-08-07 16:10:50 · 6295 阅读 · 22 评论 -
【WCF 2】理解WCF框架的简单小实例
导读:上篇博客介绍了WCF框架的整体情况,然后,闲着没事儿,自己做了一个及其简单的WCF框架的例子帮助自己理解。从简单的入手,一步一步深入!本篇博客是介绍怎么用VS2012从头创建一个WCF项目,是一个流程化的介绍,有清楚了解的,建议路过即可!一、建立WCF服务应用程序原创 2016-02-13 11:00:11 · 1422 阅读 · 15 评论 -
【WCF 1】WCF框架宏观了解
导读:使用WCF框架爱开发项目也有很长一段时间了,最开始的时候,是理解的不深,所以不写博客进行总结。后来是项目赶,发现需要总结的有很多,一直没有把WCF排上日程,尤其是最近研究EF这一块,更是研究了一些ORM框架的东西,包括Hibernate工作原理等。最后,是因为自己都会了,觉得就先不总结了吧,反正都会。现在,正式总结WCF的第一篇博客,先宏观 介绍一下。在基本概述中,主要是从书本、原创 2016-01-31 19:53:22 · 1819 阅读 · 12 评论 -
【SSM 7】Mybatis底层封装思路
一、基本概述在前面的博客中介绍到Mybatis的逆向生成工具,为我们生成了每个实体的基本增删改查的代码,那么每个实体都是那么多的代码,我们很容易的发现,有很大的相似性。对于这部分代码,应该予以抽象封装。首先,看一下思路,在用工程生成代码的时候 ,我们发现,有一个Mapper.xml文件,在这里面有具体的sql语句,其实,就相当于,我们的DAO底层实现,而还有一个mapper的接口类,这个就原创 2016-10-08 11:16:16 · 4008 阅读 · 24 评论 -
【SSM 6】Spring+SpringMVC+Mybatis框架搭建步骤
一、整体概览首先看maven工程的创建二、各自的pom文件配置2.1,SSM父工程 4.0.0 SSM-parent Angel.SSM 0.0.1-SNAPSHOT pom 4.12 4.1.3.RELEASE 3.2.8 1.2.2 5.1.32 1.6.4 2.4.2 1.0.9 1.2原创 2016-10-04 11:01:04 · 3739 阅读 · 18 评论 -
【spring 7】spring和Hibernate的整合:声明式事务
一、声明式事务简介Spring 的声明式事务管理在底层是建立在 AOP 的基础之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过等价的基于标注的方式),便可以将事务规原创 2016-07-18 17:56:48 · 514 阅读 · 10 评论 -
【spring 6】Spring和Hibernate的整合:编程式事务
一、编程式事务简介在 Spring 出现以前,编程式事务管理对基于 POJO 的应用来说是唯一选择。用过 Hibernate 的人都知道,我们需要在代码中显式调用beginTransaction()、commit()、rollback()等事务管理相关的方法,这就是编程式事务管理。通过 Spring 提供的事务管理 API,我们可以在代码中灵活控制事务的执行。在底层,Spring 仍然将事务操原创 2016-07-18 16:59:16 · 719 阅读 · 7 评论 -
【Hibernate 6】常用的hql语句以及N+1问题
HQL:Hibernate Query Language,是Hibernate框架中的查询语言,十分接近于SQL语言!以下介绍一些常用的Hql语句:一、测试类Classes类:package com.bjpowernode.hibernate;import java.util.Set;public class Classes { private int id; pr原创 2016-07-10 15:45:36 · 1673 阅读 · 3 评论 -
【SSH 1】SSH框架的基本理解
导读:在结束了BS之后,接触到的第一个项目算是网上商城了。这次用到了和之前都不一样的框架:SSH。这个项目就和之前学牛腩一样,有着里程碑的意义。当然了,这也就意味着,什么都是新鲜的,接触到的东西,有时候压根儿就不知道是怎么回事儿,但结合牛腩的经验来看,这其实并没有什么大问题,将基础理解了就行。接下来,就介绍一些SSH框架的基础概念。一:什么是SSHSSH 为 struts+spri原创 2016-02-25 22:16:22 · 1531 阅读 · 30 评论 -
[SSH 2] 以网站主页面浅谈Struts2配置
导读:前面总体的介绍了一下SSH框架,那么作为Struts这一支,具体是怎么配置的呢?本篇博客则主要是以自己做过的实例中的登录一条线,简单介绍一下struts2的配置,如有不妥之处,还请大家多提点提点!一、Struts2介绍当Web容器收到 请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过O原创 2016-03-04 22:50:21 · 817 阅读 · 7 评论 -
[SSH 3]以网上商城项目浅谈spring配置
导读:在做ITOO项目的时候,就用到了容器+反射,从而运用了依赖注入和依赖查找。如果看过WCF端的配置文件,那么对于这个spring的配置就很容易理解。本篇博客,是对于自己做的一个小项目中所运用到的spring配置进行一个总结,以便于自己以后的框架搭建和回顾。如果不妥,请多指点。一、spring简介Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java原创 2016-03-04 23:03:24 · 972 阅读 · 13 评论 -
【EF 5】结合项目实战分析EF三大工作模式之—Database First
导读:所谓的EF的Databasefirst工作模式,是目前我们(不涉及社会领域)用的最广的一种模式,也是本次ITOO开发所采用的工作模式。本篇博客,就分析在项目中通过Database First模式去实现多租户的一个过程。一、DBFirst模式下的研究分析先看这种模式下生成的各个文件:说明:之所以通过EF可以实现对于数据库的操作,主要依靠两个文件:edmx(概念模原创 2016-02-15 20:58:38 · 2636 阅读 · 16 评论 -
【EF 4】ORM框架及其流行产品之一EF介绍
导读:跳进了多租户切换数据库的坑,那么就继续走下去吧。在我们的项目中,是运用EF实现对数据库的操作,那么EF其实是.NET系统中,基于ORM框架的一个产品实现。在java那边,则有Hibernate和ibatis等具体实现。既然研究的是ORM的具体实现,那么还是很有必要介绍一下ORM的原理的。因为本人主要是基于EF研究,所以在描述过程中,均已EF开发作为实例。一、ORM1.1,概念原创 2016-01-27 14:50:59 · 4013 阅读 · 29 评论 -
【EF 3】浅谈ADO数据模型生成串(一):csdl,ssdl,msl分析
导读:这段经历,真的是难以忘怀。恨得我牙痒痒,就一个字符串拼接,前前后后尽然报了不下30个错。有的错很快就能调出来,有的错调一天、两天,是真的可以的。最终总结了一下,这些错很大一部分原因是对于EF生成串的不理解造成的。所以,现在将自己这段时间的理解写下来。一、前提背景在项目中,我们需要用到动态切库,整个项目的大概框架是:客户端,MVC;服务端,WCF+EF。众所周知,我们只需要将E原创 2016-01-23 16:47:33 · 5700 阅读 · 23 评论 -
【EF 2】浅谈ADO数据模型生成串(二):数据库连接串分析
导读:上篇博客中介绍了ADO生成串的前一部分,本篇博客结合报错,接着介绍剩下的部分。一、代码展示 二、代码分析2.1,provider=System.Data.SqlClient;数据库驱动,在这段代码中,使用的是SQL Server的数据库服务器驱动。如果将来换库,比如换成MySQL,那么对应的这一个变量,也应该换成MySQL的驱动。首原创 2016-01-23 16:47:11 · 1803 阅读 · 20 评论 -
【EF 1】EF实体框架 原理+实例
一、知识回顾到目前为止,自己学到的链接数据库操作已经经历了几个阶段,分别是:学生信息管理和(第一次)机房收费时的直接连接数据库操作表格,然后是机房个人重构中应用的操作实体,在其中还利用了一个很重要的帮助类:SQLHelper。在这个转变中,已经逐步由面向过程转向面向对象,但在分层操作实体的过程中,由于数据库的设计不很完美,有时候需要修改数据库设计,或者需要更改实体。每次遇到这样的事儿,就脑原创 2015-07-01 20:50:10 · 9552 阅读 · 21 评论 -
【Hibernate 7】浅谈Hibernate的缓存机制
一、Hibernate缓存机制简介对于Hibernate本身来说,它的缓存主要包括三部分:session缓存(一级缓存)、二级缓存、查询缓存。1.1,session缓存随着session的关闭而消失,load、iterator操作,会从一级缓存中查找数据,如果找不到,再到数据库里面查找。Query.list操作,如果没有配置查询缓存,将直接从数据库中获取数据。特点:只能被当前事原创 2016-07-11 20:03:23 · 1460 阅读 · 1 评论 -
【Hibernate 8】Hibernate的调优方法:抓取策略
在上一篇博客中,介绍了Hibernate的缓存机制。合理的配置缓存,可以极大程度上优化Hibernate的性能。这篇博客,介绍另外一个调优方式:抓取策略。一、什么是抓取策略抓取策略(fetching strategy):当应用程序需要在关联关系间进行导航的时候,Hibernate如何获取关联对象的策略。抓取策略可以在O / R映射的元数据中声明,也可以在特定的HQL或条件查询(Criter原创 2016-07-12 21:17:01 · 1015 阅读 · 2 评论 -
【spring 5】AOP:spring中对于AOP的的实现
在前两篇博客中,介绍了AOP实现的基础:静态代理和动态代理,这篇博客介绍spring中AOP的实现。一、采用Annotation方式首先引入jar包:aspectjrt.jar && aspectweaver.jarapplicationContext配置文件:<beans xmlns="http://www.springframework.org/schema/beans"原创 2016-07-18 11:10:11 · 1297 阅读 · 7 评论 -
【Struts 1】Struts1的基本原理和简介
备注:这里介绍的是Struts1的内容,Struts2的内容,会在后续的博客的予以说明!一、什么是Strutsstruts的目标是提供一个开发web应用的开源框架,Struts鼓励基于Model2模式来开发程序。关于model2的说明:【drp 10】JSP页面中model1和model2的区别Struts是Apache 基金会Jakarta 项目组的一个Open Source 项目,原创 2016-06-20 19:41:55 · 1598 阅读 · 14 评论 -
【spring 4】AOP:动态代理
一、动态代理简介动态代理与普通代理相比较,最大的好处是接口中声明的所有方法都被转移到一个集中的方法中处理(invoke),这样,在接口方法数量比较多的时候,我们可以进行灵活处理,而不需要像静态代理那样每个方法进行中转。动态代理类只能代理接口,代理类都需要实现InvocationHandler类,实现invoke方法。该方法就是调用被代理接口的所有方法时需要调用的,而invoke方法返回的值原创 2016-07-16 20:53:54 · 794 阅读 · 4 评论 -
【spring 3】AOP:静态代理
一、代理的基本简介首先,在什么时候使用代理:在面向方面编程过程中,当需要对所有类进行某种操作(如,安全性检查,记录操作日志)时,考虑到OCP原则,我们不能在所有实现类中直接添加某些相关方法,这样一旦需求改变将引起很多麻烦和大量修改性的工作。又考虑到我们所要进行的对于所有类的操作与实现类的具体实现存在正交关系(即二者完全不相关,在功能上不存在“相互”依赖关系)。因此提供代理类,对目标类(接口原创 2016-07-16 18:01:10 · 705 阅读 · 5 评论 -
【Spring 2】spring的属性注入形式
一、注入简介spring是一个java bean的容器,它摒弃了过去通过new关键字调用类再调用类的实例的形式,通过依赖注入维护者一系列的java bean的示例。通过spring所提供的依赖注入的方法,我们可以管理这些java bean之间的引用关系。spring的注入形式,主要是有4种:setter方法、构造器方法、静态 / 实例工厂方法,这里主要介绍setter方法和构造器方法。原创 2016-07-16 16:37:52 · 595 阅读 · 3 评论 -
[Hibernate 2]session的三种状态
一、Session的特点和获取特点:Session不是线程安全的,它代表与数据库之间的一次操作,它的概念介于Connection和Transaction之间。Session也称为持久化管理器,因为它是与持久化有关的操作接口。Session通过SessionFactory打开,在所有的工作完成后,需要关闭。它与Web层的HttpSession没有任何关系。获取://默原创 2016-07-02 17:18:18 · 799 阅读 · 2 评论