Java EE 互联网轻量级框架整合笔记(SSM)
文章平均质量分 80
加加大了
这个作者很懒,什么都没留下…
展开
-
Spring数据库事务管理
1. Spring数据库事务管理器的设计在Spring中数据库事务是通过PlatformTransactionManager进行管理的。TransactionTemplate源码:事务的创建、提交和回滚都是通过PlatformTransactionManager接口来完成,当事务产生异常时会回滚事务。在默认的实现中所有的异常都会回滚,我们可以通过配置去修改在某些异常发生时回滚或者不回滚事务。当无异常时会提交事务。PlatformTransactionManager接口的源码:1.配置事务管理器原创 2021-04-19 11:51:53 · 841 阅读 · 0 评论 -
Spring与数据库编程
1. 传统JDBC的缺点一般的JDBC代码如下:传统的JDBC代码中含有大量的异常处理语句,使得代码繁杂。2. 配置数据库资源在实际工作中,大部分会配置成为数据库连接池,我们既可以使用 Spring 内部提供的类,也可以使用第3方数据库连接或者从Web服务器中通过 JNDI 获取数据源。1.使用简单数据库配置配置SimpleDriverDataSource:这样就能够配置一个最简单的数据源。这个配置一般用于测试,因为它不是一个数据库连接池,只是一个很简单的数据库连接的应用。在更多的时候,原创 2021-04-09 17:29:09 · 431 阅读 · 0 评论 -
面向切面编程
1. SpringAOP基本概念1.AOP概念和使用原因现实中有 些内容并不是面向对象 (OOP )可以解决的,比如数据库事务,它对于企业级的 Java EE 应用而言是十分重要的 又如在电商网站购物需要经过交易系统、财务统,对于交易系统存在一个交易记录的对象,而财务系统则存在账户的信息对象。从这个角度而 ,我 需要对交易记录和账户操作形成一个统一的事务管理。交易和账户的事务,要么全部成功,要么全部失败。从上图可知,交易和账户都是对象,两个对象需要在同一个事务中控制,因此需要面向切面的方法,切面就是原创 2021-04-08 08:48:25 · 956 阅读 · 0 评论 -
装配SpringBean
1.依赖注入的三种方式实际环境中实现 IoC 容器的方式主要分为两大类, 一类是依赖查找,依赖查找是通过资源定位,把对应的资源查找回来。另一类则是依赖注入,Spring主要使用的是依赖注入。依赖注入可分为3种方式:构造器注入setter注入接口注入构造器注入和 setter 注入是主要的方式,而接口注入是从别的地方注入的方式。(1)构造器注入构造器注入依赖于构造方法实现,构造方法可以是含参或无参数的。一般情况下,通过类的构造方法创建类对象,Spring可以采用反射,通过使用构造方法完成注入原创 2021-04-01 15:27:57 · 184 阅读 · 0 评论 -
Spring IoC
1. Spring概述Spring 中,它会认为 Java 类都是资源,而资源都 Bean ,容纳这些 Bean 的是 Spring 所提供的 IoC 容器,所以 Spring 种基于 Bean的编程。2.SpringIoC概述有如下的例子:现实中系统的开发者是个团队,团队由许多开发者组成。现在假设你在一个电商网站负责开发工作,你熟悉商品交易流程,但是对财务却不怎么熟悉,而团队中有些成员对于财务处理分熟悉,在交易的过程中,商品交易流程需要调度财务的相关接口,才能得以实现,那么你的期望应该是:熟原创 2021-03-29 17:00:16 · 127 阅读 · 0 评论 -
MyBatis的解析和运行原理
MyBatis运行过程分为两步:读取配置文件缓存到Configuration对象,用以创建SqlSessionFactory;SqlSession的执行过程1. 构建SqlSessionFactory过程SqlSessionFactory是MyBatis的核心类之一,提供创建MyBatis的核心接口SqlSession,所以要先创建SqlSessionFactory,因此要提供配置文件和相关参数。MyBatis使用Builder模式创建SqlSessionFactory,可以通过SqlSessi原创 2021-03-29 11:21:37 · 367 阅读 · 2 评论 -
动态SQL
1. 概述MyBatis的动态SQL包括如下几种元素:2. if元素例如:根据角色名称roleName 去查找角色,但是角色名称是一个选填条件,不填时,就不要用它作为条件查询。使用if构建动态SQL:当参数 roleName 传递进映射器时,如果参数不为空,则采取构造对 ro leName 的模糊查询。3. choose、when、otherwise元素上面的例子相当于java中的if语句,不是这个就是那个。在映射器的动态语句choose、when、otherwise这三个元素承担这样的功原创 2021-03-27 17:36:49 · 113 阅读 · 0 评论 -
映射器
映射器是 MyBatis 最复杂且最重要的组件。它由 1个接口加上 XML 文件(或者注解)组成。在映射器中可以配置参数、各类的 SQL 语句、存储过程、缓存、级联等复杂的内容,并且通过简易的映射规则映射到指定的 POJO 或者其他对象上。1. 概述映射器配置元素:2. select元素在映射器中 select 元素代表 SQL select 语旬,用于查询。配置如下:(1)select元素的应用统计用户中同一个姓氏的用户数量:id 配合 Mapper 的全限定名,联合成为唯一的标识原创 2021-03-27 10:44:16 · 1646 阅读 · 0 评论 -
MyBatis配置
1.概述MyBatis的所有元素如以下代码:2.properties属性properties属性给系统配置运行参数, 放在 XML 或者 propertie 文件,而不是放在 Java 码中, 这样 的好处在于方便参数修改,而不会引起代码 重新编译。2.1 property子元素使用 property 子元素将数据库连接的相关配置进行改写:这里使用了元素<properties>下 子元素<property>定义,用字符串 database. usemame 定义数据库用户名, 然后就可以原创 2021-03-25 12:00:07 · 215 阅读 · 1 评论 -
认识Mybatis核心组件
持久层可以将业务数据存储到磁盘,具备长期存储能力,只要磁盘不损坏(大部分的重要数据都会有相关的备份机制),在断电或者其他情况下,重新开启系统仍然可以读取这些数据。Mybatis 最大的成功主要有三点:·不屏蔽 SQL 意味着可以更为精确地定位 SQL 语句,可以对其进行优化和改造,·提供强大、灵活的映射机制 ,方便 Java 开发者使用 。提供了使用 Mapper 的接口编程,只要 个接口和 XML 就能创建映射器1. Mybatis的核心组件核心组件分为四个部分:SqlSessionFa原创 2021-03-24 11:33:03 · 1808 阅读 · 0 评论 -
Java设计模式(建造者模式)
建造者模式属于对象的创建模式。可以将一个产品的内部表象(属性〉与产品的生成过程分割开来,从而使 建造过程生成具有不同的内部表象的产品对象。Builder 模式是种分步构建对象的模式。实例:首先,创建一个 TicketHe per 对象,它是配置类,能帮我们一步步完成构建对象。随后建立一个构建类:显然 Builder 方法很简单,它只有个配置类的参数,通过它就可以得到所有套票的信息,从而构建套票对象。有了这两个类,就可以完成一套对象的构建。这就是构建模式 使用,构建分成若干步,通过 步步构建信原创 2021-03-23 16:16:28 · 103 阅读 · 0 评论 -
Java设计模式(工厂模式和抽象工厂模式)
1.普通工厂模式有个IProduct 产品接口 ,它下面有 5个实现类Product1、Product2、 Product3 、Product4、Product5。它们属于1个大类,可以通过1个工厂去管理它们的生成,但是由于类型不同,所以初始化有所不同 。为了方便使用产品工厂( ProductFactory )类来创建这些产品的对象,用户可以通过产品号来确定需要哪种产品。ProductFactory类的伪代码:对于程序调用者而言,它只需要知道通过工厂的 createProduct 方法,指定产品编原创 2021-03-23 15:53:22 · 197 阅读 · 0 评论 -
Java设计模式(观察者模式)
观察者模式又称为发布订阅模式,是对象的行为模式。观察者模式定义了一对多的依赖关系,让多个观察者对象同时监视着被观察者的状态,当被观察者的状态发生变化会通知所有观察者 并让其自动更新自己。观察者模式示例:类似这样,一个对象(电商接口)会去监昕另外一个对象(产品列表〉,当被监昕对象(产品列表)发生变化,对象(电商接口)就会触发一定的行为,以适合变化的逻辑模式,我们称为观察者模式,电商接口被称为观察者或者监听者,而产品对象被称为被观察者或者被监听者。被观察者(产品列表)代码:构建方法私有化,避免通过原创 2021-03-23 15:02:38 · 171 阅读 · 0 评论 -
Java设计模式(动态代理模式和责任链模式)
动态代理的意义在于生成一个占位,代理真实对象,从而控制正式对象的访问。代理的作用是在真实对象访问之前或者之后加入对应的逻辑,或者根据其他的规则控制是否使用真实对象。代理不需分为两步:代理对象和真实对象建立代理关系;实现代理对象的代理逻辑方法。在java中有多种动态代理机制,如JDK、CGLIB、Javassist等。1. JDK动态代理该方法需要借助一个接口才能产生代理对象,首先定义接口:随后提供实现类来实现接口:在JDK动态代理中,实现代理逻辑类必须实现java.lang.reflect.In原创 2021-03-23 11:38:01 · 336 阅读 · 0 评论 -
Java设计模式(反射技术)
java反射技术应用广泛,能够配置:类的全限定名、方法和参数、完成对象的初始化、反射一些方法。java反射内容繁多,包括对象构建、反射方法、注解、参数、接口等。1 通过反射构建对象java中允许通过反射配置信息构建对象。例如:通过反射的方法去构建它,如下所示。以上的构造方法都是无参构造,含参构造方法的反射构造如下所示。先通过forName加载到类的加载器,然后通过getConstuctor方法,它的参数可以是多个,定义为String.class,为有且只有一个参数类型为String的构建方原创 2021-03-22 21:52:51 · 312 阅读 · 0 评论 -
1.1Spring-SpringMVC-Mybatis框架简介
一.Spring框架1.1SpringIOCIOC是一个容器,Spring中,一切java资源都是java Bean容器,容器的目标是管理Bean和他们之间的关系。在SpringIOC里装载着各种Bean,包含Java Bean的建立、事件、行为等都是由IOC容器管理。Spring依靠描述完成对象的创建以及依赖关系。例子:插座依赖国家标准(可以定义为一个接口,Socket)去定义,目前有两种插座(Scoket1和Socket2)。当使用插座1时,有如下代码:Socket socket = ne原创 2021-03-22 21:11:14 · 502 阅读 · 0 评论