schema

10.spring声明式事务

时光毁灭记忆、已成空白 提交于 2020-02-19 00:27:00
一.回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。 1.事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。 2.事务四个属性ACID 原子性(atomicity) 事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用 一致性(consistency) 一旦所有事务动作完成,事务就要被提交。数据和资源处于一种满足业务规则的一致性状态中 隔离性(isolation) 可能多个事务会同时处理相同的数据,因此每个事务都应该与其他事务隔离开来,防止数据损坏 持久性(durability) 事务一旦完成,无论系统发生什么错误,结果都不会受到影响。通常情况下,事务的结果被写到持久化存储器中 二.Spring中的事务管理 1.测试事务的一致性 步骤:(在上一个的博客项目的基础上) 在UserMapper接口中添加两个方法 addUser:添加用户 deleteUser:删除用户 在UserMapper.xml中编写SQL语句,故意将delete写成deletes导致出错 修改UserMapperImpl类 添加addUser方法 添加deleteUser方法 修改selectUser方法,让它先添加一个用户

Spring-Aop

寵の児 提交于 2020-02-18 13:44:32
一.AOP(Aspect Oriented Programing)面向切面编程 AOP的终极目标:让我们可以专心做事 下面通过一个例子来介绍AOP的具体使用 案例的要求:使用AOP实现日志记录系统 , 核心模块 和 增强 单独 开发 ,运行时再组装 首先定义接口和方法 接口和实现类中的代码,我放在一起了,应该比较简单 package demo04.dao; /** * Created by mycom on 2018/3/5. */ public interface IHelloDao { public void doSome(); } package demo04.dao;/** * Created by mycom on 2018/3/5. */public class HelloDaoImpl implements IHelloDao { public void doSome() { System.out.println("已经成功加入到DB中了"); }} package demo04.service;/** * Created by mycom on 2018/3/5. */public interface IHelloService { public void doSome();} package demo04.service;import demo04.dao

Spring 入门 AOP

*爱你&永不变心* 提交于 2020-02-17 22:36:20
通过一个小例子演视怎么使用 Spring 现实面向切面编程。 导入 Spring 所需要的包 spring-framework-2.5.6 版需要导入以下包: 1.----- spring.jar 2.----- commons-logging.jar 3.----- aspectjrt.jar 4.----- aspectjweaver.jar 5.----- cglib-nodep-2.1_3.jar spring-framework-3.2.4 版需要导入以下包: 1.----- spring-core-3.2.4.RELEASE.jar 2.----- spring-beans-3.2.4.RELEASE.jar 3.----- spring-context-3.2.4.RELEASE.jar 4.----- spring-expression-3.2.4.RELEASE.jar 5.----- commons-logging.jar 6.----- aspectjweaver.jar 7.----- aspectjrt.jar 8.----- aopalliance.jar(spring项目里不提供,要到网上下) 代码: Book.java: public class Book { private int id; private String name; //省略get

SSM三大框架整合

夙愿已清 提交于 2020-02-17 18:58:58
1、搭建整合环境   SSM整合有多种方式,这里选择XML + 注解的方式,SSM三大框架使用版本:spring-webmvc5.0.2、spring5.0.2、mybatis3.4.5   1.创建数据库和表结构 create database ssm; use ssm; create table account(   id int primary key auto_increment,   name varchar(20),   money double(20,2) );   2.创建maven工程,定义pom.xml文件     设置编译插件和Tomcat插件: <properties>   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>   <maven.compiler.source>1.8</maven.compiler.source>   <maven.compiler.target>1.8</maven.compiler.target> </properties> <!-- 设置编译插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin<

Spring讲解一:Spring简介和入门

风流意气都作罢 提交于 2020-02-16 22:33:03
一、Spring是什么? Spring是一个开源框架, Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能。 Spring是一个IOC(DI)和AOP容器框架。 二、具体描述Spring 轻量级:Spring是非侵入式的-基于Spring开发的应用中的对象可以不依赖Spring的API 依赖注入:(DI-Dependency injection、IOC) 面向切面编程:(AOP-aspect oriented programming) 容器:Spring是一个容器,因为它包含并且管理应用对象的生命周期 框架:Spring实现了使用简单的组件配置组合成一个复杂的应用,在Spring中可以使用XML和java注解组合这些对象 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库(实际上Spring自身也提供了展现层的SpringMVC和持久层的Spring JDBC) 三、搭建Spring环境 eclipse安装Spring Tool Suite SPRING TOOL SUITE 是一个 Eclipse 插件,利用该插件可以更方便的在 Eclipse 平台上开发基于 Spring 的应用。 加包 把以下的jar包加入到工程的classpath:          3. Spring的配置文件

Spring基于XML方式的使用

五迷三道 提交于 2020-02-16 22:09:16
一、IoC配置 IoC的配置是通过Spring的xml文件的 bean标签 进行的。 1、bean标签介绍 bean标签一般是在xml文件进行配置的,xml文件一般样式如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> </beans> 可在其中进行bean标签的配置。 1.1、bean标签的作用 bean标签用于配置被spring容器管理的bean的信息 注意 :bean标签配置的bean的创建默认是调用无参数的构造方法,若没有无参构造方法则不能创建成功。 1.2、bean标签属性 id:给对象在 容器中 提供一个唯一标识。用于获取对象。 class:指定类的全限定名

Spring学习笔记1---C命名和P命名的注入

 ̄綄美尐妖づ 提交于 2020-02-16 11:46:17
<?xml version="1.0" encoding="UTF-8"?> < beans xmlns = " http://www.springframework.org/schema/beans " xmlns: xsi = " http://www.w3.org/2001/XMLSchema-instance " xmlns: p = " http://www.springframework.org/schema/p " xmlns: c = " http://www.springframework.org/schema/c " xsi: schemaLocation = " http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd " > <!-- P命名注入 依赖第三方的约束,可以直接注入属性的值:property--> < bean id = " user " class = " com.qi.pojo.User " p: name = " qiqi " p: age = " 22 " /> <!-- c命名注入,通过有参构造器注入:construct-args --> < bean id = " user2 "

Spring AOP(面向切面编程)

一曲冷凌霜 提交于 2020-02-16 02:49:20
1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。 AOP 是 OOP 的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 1.2 AOP 的作用及其优势 作用:在程序运行期间,在不修改源码的情况下对方法进行功能增强 优势:减少重复代码,提高开发效率,并且便于维护 1.3 AOP 的底层实现 实际上,AOP 的底层是通过 Spring 提供的的动态代理技术实现的。在运行期间,Spring通过动态代理技术动态的生成代理对象,代理对象方法执行时进行增强功能的介入,在去调用目标对象的方法,从而完成功能的增强。 1.4 AOP 的动态代理技术 常用的动态代理技术 JDK 代理 : 基于接口的动态代理技术 cglib 代理:基于父类的动态代理技术 1.5 JDK 的动态代理 ①目标类接口 public interface TargetInterface { public void method ( ) ; } ②目标类 public class

XSD-5 Schema 面向对象之 simpleType

本秂侑毒 提交于 2020-02-16 02:48:22
XSD-5 Schema 面向对象之 simpleType 5 Schema 面向对象之简易元素 SimpleType 5.1 对值的限定 minInclusive maxInclusive 5.2 对一组值的限定 enumeration 5.3 对一系列值的限定 pattern 5.4 对空白字符的限定 whiteSpace 5.5 对长度的限定 length 5 Schema 面向对象之简易元素 SimpleType 在已有的基础数据类型之上以某个基础数据类型为基础,然后添加一些限定,就像这样: < xs: element name = " password " > < xs: simpleType > < xs: restriction base = " xs:string " > < xs: length value = " 8 " /> </ xs: restriction > </ xs: simpleType > </ xs: element > XSD 限定 / Facets 限定(restriction)用于为 XML 元素或者属性定义可接受的值。对 XML 元素的限定被称为 facet。 XSD Restrictions/Facets for Datatypes 对值的限定 限定 描述 enumeration 定义可接受值的一个列表 fractionDigits

源代码---ssm框架整合

一世执手 提交于 2020-02-15 23:49:33
一:整合环境搭建 1.要实现SSM框架的整合,首先要准备这三个框架的JAR包,以及其他整合所需的JAR。 在Eclipse中,创建一个名为chapter17的Web项目,将整合所需的JAR包添加到项目的lib目录中,并发布到类路径下。 2. 在chapter17项目,创建一个名为config的 源文件夹 (Source Folder),在该文件夹中分别创建数据库常量配置文件db.properties、Spring配置文件applicationContext.xml,以及MyBatis的配置文件mybatis-config.xml。 db.properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis jdbc.username=root jdbc.password=root jdbc.maxTotal=30 jdbc.maxIdle=10 jdbc.initialSize=5 applicationContext.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3