![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
风叶翩翩
有过众多的项目开发经验。精通Java开发,Sql数据库等,熟练使用主流开发工具如IDEA等。对开发编程有着特殊的爱好和恒心。
展开
-
C++类的定义和对象的创建
类的定义类是用户自定义的类型,如果程序中要用到类,必须提前说明,或者使用已存在的类(别人写好的类、标准库中的类等),C++语法本身并不提供现成的类的名称、结构和内容。简单的类的定义:class Student{public: //成员变量 char *name; int age; float score; //成员函数 void say()...原创 2020-03-12 11:17:39 · 867 阅读 · 0 评论 -
Spring基于Annotation实现事务管理
在 Spring 中,除了使用基于 XML 的方式可以实现声明式事务管理以外,还可以通过 Annotation 注解的方式实现声明式事务管理。使用 Annotation 的方式非常简单,只需要在项目中做两件事,具体如下。1 在 Spring 容器中注册驱动,代码如下所示:<tx:annotation-driven transaction-manager="txManager"/>...原创 2020-03-12 10:36:50 · 476 阅读 · 0 评论 -
Spring声明式事务管理
Spring 的事务管理有两种方式:一种是传统的编程式事务管理,即通过编写代码实现的事务管理;另一种是基于 AOP 技术实现的声明式事务管理。由于在实际开发中,编程式事务管理很少使用,所以我们只对 Spring 的声明式事务管理进行详细讲解。Spring 声明式事务管理在底层采用了 AOP 技术,其最大的优点在于无须通过编程的方式管理事务,只需要在配置文件中进行相关的规则声明,就可以将事务规则应...原创 2020-03-12 10:30:56 · 183 阅读 · 0 评论 -
Spring事务管理接口
Spring 的事务管理是基于 AOP 实现的,而 AOP 是以方法为单位的。Spring 的事务属性分别为传播行为、隔离级别、只读和超时属性,这些属性提供了事务应用的方法和描述策略。在 Java EE 开发经常采用的分层模式中,Spring 的事务处理位于业务逻辑层,它提供了针对事务的解决方案。在 Spring 解压包的 libs 目录中,包含一个名称为 spring-tx-3.2.13.R...原创 2020-03-12 10:22:11 · 473 阅读 · 0 评论 -
Spring JDBCTemplate
Spring 框架针对数据库开发中的应用提供了 JDBCTemplate 类,该类是 Spring 对 JDBC 支持的核心,它提供了所有对数据库操作功能的支持。Spring 框架提供的JDBC支持主要由四个包组成,分别是 core(核心包)、object(对象包)、dataSource(数据源包)和 support(支持包),org.springframework.jdbc.core.Jdbc...原创 2020-03-12 10:09:43 · 267 阅读 · 0 评论 -
Spring使用AspectJ开发AOP
AspectJ 是一个基于 Java 语言的 AOP 框架,它扩展了 Java 语言。Spring 2.0 以后,新增了对 AspectJ 方式的支持,新版本的 Spring 框架,建议使用 AspectJ 方式开发 AOP。使用 AspectJ 开发 AOP 通常有两种方式: 基于 XML 的声明式。 基于 Annotation 的声明式。基于XML的声明式基于 XML 的声明式...原创 2020-03-11 21:11:43 · 450 阅读 · 2 评论 -
Spring通知类型及使用ProxyFactoryBean创建AOP代理
Spring 通知类型通知(Advice)其实就是对目标切入点进行增强的内容,Spring AOP 为通知(Advice)提供了 org.aopalliance.aop.Advice 接口。Spring 通知按照在目标类方法的连接点位置,可以分为以下五种类型。Spring 通知的 5 种类型名称说明org.springframework.aop.MethodBefore...原创 2020-03-11 20:56:46 · 344 阅读 · 0 评论 -
Spring CGLlB动态代理
JDK 动态代理使用起来非常简单,但是有一定的局限性,这是因为 JDK 动态代理必须要实现一个或多个接口,如果不希望实现接口,则可以使用 CGLIB 代理。CGLIB(Code Generation Library)是一个高性能开源的代码生成包,它被许多 AOP 框架所使用,其底层是通过使用一个小而快的字节码处理框架 ASM(Java 字节码操控框架)转换字节码并生成新的类。因此 CGLIB 要...原创 2020-03-11 20:30:36 · 71 阅读 · 0 评论 -
Spring JDK动态代理
JDK 动态代理是通过 JDK 中的 java.lang.reflect.Proxy 类实现的。下面通过具体的案例演示 JDK 动态代理的使用。1. 创建项目在 MyEclipse 中创建一个名称为 spring 的 Web 项目,将 Spring 支持和依赖的 JAR 包复制到 Web 项目的 WEB-INF/lib 目录中,并发布到类路径下。2. 创建接口 CustomerDao在项目...原创 2020-03-11 20:06:47 · 157 阅读 · 0 评论 -
Spring AOP是什么?
面向切面编程(AOP)和面向对象编程(OOP)类似,也是一种编程模式。Spring AOP 是基于 AOP 编程模式的一个框架,它的使用有效减少了系统间的重复代码,达到了模块间的松耦合目的。AOP 的全称是“Aspect Oriented Programming”,即面向切面编程,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。AOP 采取横向...原创 2020-03-11 19:37:46 · 548 阅读 · 0 评论 -
Spring自动装配Bean
除了使用 XML 和 Annotation 的方式装配 Bean 以外,还有一种常用的装配方式——自动装配。自动装配就是指 Spring 容器可以自动装配(autowire)相互协作的 Bean 之间的关联关系,将一个 Bean 注入其他 Bean 的 Property 中。要使用自动装配,就需要配置 元素的 autowire 属性。autowire 属性有五个值。autowire 的属性和...原创 2020-03-11 19:29:46 · 78 阅读 · 0 评论 -
Spring基于Annotation装配Bean
在 Spring 中,尽管使用 XML 配置文件可以实现 Bean 的装配工作,但如果应用中 Bean 的数量较多,会导致 XML 配置文件过于臃肿,从而给维护和升级带来一定的困难。Java 从 JDK 5.0 以后,提供了 Annotation(注解)功能,Spring 也提供了对 Annotation 技术的全面支持。Spring3 中定义了一系列的 Annotation(注解),常用的注解...原创 2020-03-11 19:20:07 · 369 阅读 · 0 评论 -
Spring基于XML装配Bean
Bean 的装配可以理解为依赖关系注入,Bean 的装配方式也就是 Bean 的依赖注入方式。Spring 容器支持多种形式的 Bean 的装配方式,如基于 XML 的 Bean 装配、基于 Annotation 的 Bean 装配和自动装配等。Spring 基于 XML 的装配通常采用两种实现方式,即设值注入(Setter Injection)和构造注入(Constructor Injecti...原创 2020-03-11 19:05:04 · 346 阅读 · 0 评论 -
Spring Bean的生命周期
Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器将不再跟踪其生命周期。每次客户端请求 prototype...原创 2020-03-11 17:57:58 · 81 阅读 · 0 评论 -
Spring中Bean的作用域
作用域的种类Spring 容器在初始化一个 Bean 的实例时,同时会指定该实例的作用域。Spring3 为 Bean 定义了五种作用域,具体如下。1 singleton单例模式,使用 singleton 定义的 Bean 在 Spring 容器中只有一个实例,这也是 Bean 默认的作用域。2 prototype原型模式,每次通过 Spring 容器获取 prototype 定义的...原创 2020-03-11 17:54:50 · 240 阅读 · 0 评论 -
Spring实例化Bean
在面向对象的程序中,要想调用某个类的成员方法,就需要先实例化该类的对象。在 Spring 中,实例化 Bean 有三种方式,分别是构造器实例化、静态工厂方式实例化和实例工厂方式实例化。构造器实例化构造器实例化是指 Spring 容器通过 Bean 对应的类中默认的构造函数实例化 Bean。下面通过案例演示如何使用构造器实例化 Bean。1. 创建项目并导入 JAR 包在 MyEclipse...原创 2020-03-11 17:48:42 · 172 阅读 · 0 评论 -
Spring Bean的配置及常用属性
作为 Spring 核心机制的依赖注入,改变了传统的编程习惯,对组件的实例化不再由应用程序完成,转而交由 Spring 容器完成,在需要时注入应用程序中,从而对组件之间依赖关系进行了解耦。这一切都离不开 Spring 配置文件中使用的 元素。Spring 容器可以被看作一个大工厂,而 Spring 容器中的 Bean 就相当于该工厂的产品。如果希望这个大工厂能够生产和管理 Bean,这时则需要...原创 2020-03-11 16:47:06 · 199 阅读 · 0 评论 -
Spring 依赖注入的实现
依赖注入(Dependency Injection,DI)和控制反转含义相同,它们是从两个角度描述的同一个概念。当某个 Java 实例需要另一个 Java 实例时,传统的方法是由调用者创建被调用者的实例(例如,使用 new 关键字获得被调用者实例),而使用 Spring 框架后,被调用者的实例不再由调用者创建,而是由 Spring 容器创建,这称为控制反转。Spring 容器在创建被调用者的实...原创 2020-03-11 16:41:38 · 172 阅读 · 0 评论 -
第一个Spring程序
1. 创建项目在 MyEclipse 中创建 Web 项目 springDemo01,将 Spring 框架所需的 JAR 包复制到项目的 lib 目录中,并将添加到类路径下,添加后的项目如下图所示。2. 创建 PersonDao 接口在项目的 src 目录下创建一个名为 com.mengma.ioc 的包,然后在该包中创建一个名为 PersonDao 的接口,并在接口中添加一个 add(...原创 2020-03-11 16:35:51 · 262 阅读 · 0 评论 -
Spring IoC容器
我们将详细介绍 Spring 的 Ioc 容器。IoC 是指在程序开发中,实例的创建不再由调用者管理,而是由 Spring 容器创建。Spring 容器会负责控制程序之间的关系,而不是由程序代码直接控制,因此,控制权由程序代码转移到了 Spring 容器中,控制权发生了反转,这就是 Spring 的 IoC 思想。Spring 提供了两种 IoC 容器,分别为 BeanFactory 和 Ap...原创 2020-03-11 11:29:50 · 64 阅读 · 1 评论 -
Spring目录结构和基础JAR包介绍
目前 Spring 框架的最新版本是 5.1.8,本教程是基于 Spring 的稳定版本 3.2.13 进行讲解的。读者可以通过网址 http://repo.spring.io/simple/libs-release-local/org/springframework/spring/ 下载名称为 springframework-3.2.13.RELEASE-dist.zip 的压缩包。单击此链接下...原创 2020-03-11 10:23:57 · 332 阅读 · 0 评论 -
Spring体系结构详解
Spring 框架采用分层架构,根据不同的功能被划分成了多个模块,这些模块大体可分为 Data Access/Integration、Web、AOP、Aspects、Messaging、Instrumentation、Core Container 和 Test。Spring的体系结构如下图所示图中包含了 Spring 框架的所有模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以...原创 2020-03-11 10:15:25 · 1919 阅读 · 0 评论 -
Spring 是什么
Spring 是一个主流的 Java Web 开发框架,该框架是一个轻量级的应用框架,具有很高的凝聚力和吸引力。Spring 是分层的 Java SE/EE full-stack 轻量级开源框架,以 IoC(Inverse of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)为内核,使用基本的 JavaBean 完成以前只可能由 EJ...原创 2020-03-11 10:09:36 · 429 阅读 · 0 评论