spring
Spring相关技术梳理
little_fat_sheep
图形学领域爱好者,未来将在图形渲染(OpenGL、LibGDX、Filament、Unity3D、UE)、图形编解码(FFmpeg)等领域长期深耕。
展开
-
【spring框架】通过XML配置事务(Transaction)
1 前言在通过注解配置事务中介绍了使用注解配置事务(Transaction),本文将介绍通过 XML 配置事务,并沿用前面的案例。通过 XML 配置事务,其原理是 AOP,即将事务当做一个切面,作用于切入点。关于 AOP 的介绍,见XML配置AOP。需要导入的 jar 包如下,其中最后三个包是JdbcTemplate 所需的 jar 包。2 案例首先在 MySQL 中创建数据库:taobao,再在此数据库中创建表:users(uid int, balance int),b...原创 2020-05-27 11:03:01 · 3078 阅读 · 0 评论 -
【spring框架】spring框架学习目录
1 简介spring 是一个开源框架,也是一个 IOC和 AOP容器框架,为简化企业级开发而生,具有以下优良特性:非侵入式:基于spring开发的应用中的对象可以不依赖于 spring 的 API。 依赖注入:依赖注入(Dependency Injection,DI)是控制反转(Inversion of Control,IOC)最经典的实现。 面向切面编程:面向对象编程(Object Oriented Programming,OOP)的特点的纵向继承;面向切面编程(Aspect Orient..原创 2020-05-27 13:51:05 · 411 阅读 · 0 评论 -
【spring框架】通过注解配置事务(Transaction)
1 前言事务是一组由于逻辑上紧密关联而合并成一个整体的多个数据操作,这些操作要么都执行,要么都不执行。事务有以下4个特性(ACID):原子性(Atomicity):操作这些指令时,要么全部执行成功,要么全部不执行。只要其中一个指令执行失败,所有的指令都执行失败,数据进行回滚,回到执行指令前的数据状态。 一致性(Consistency):事务的执行使数据从一个状态转换为另一个状态,但是对于整个数据的完整性保持稳定。 隔离性(Isolation):隔离性是当多个用户并发访问数据库时,比如操作同一张表原创 2020-05-26 23:42:58 · 942 阅读 · 0 评论 -
【spring框架】JdbcTemplate
1 前言JdbcTemplate 对 jdbc 进行了封装,是一个小型的轻量级持久层框架需要导入的 jar 包如下,其中最后三个包是JdbcTemplate 所需的 jar 包。原创 2020-05-26 15:47:26 · 569 阅读 · 0 评论 -
【spring框架】XML配置AOP
1 前言在AspectJ动态代理实现AOP中,笔者介绍了使用 AspectJ 动态代理实现 AOP,本文将介绍使用 xml 文件配置AOP。在 xml 文件中,可以使用 aop:config标签配置 AOP,常用的属性如下:aop:aspect:配置切面 aop:pointcut:配置切入点 aop:before:前置通知,作用于方法执行之前 aop:after:后置通知,作用于方法的finally语句块,即不管方法有没有异常都会执行,通常用于关闭资源 aop:after-retu...原创 2020-05-24 21:45:35 · 638 阅读 · 0 评论 -
【spring框架】AspectJ动态代理实现AOP
1 前言在 spring2.0 以上版本中,可以使用基于 AspectJ 注解配置 AOP,常用的配置 AOP 的注解如下:@Aspect:标注一个类为切面 @Order:标注切面优先级 @Pointcut:标注一个公共切入点 @Before:前置通知,作用于方法执行之前 @After:后置通知,作用于方法的finally语句块,即不管方法有没有异常都会执行,通常用于关闭资源 @AfterReturning:返回通知,作用于方法执行之后 @AfterThrowing:异常通知,作用于方法原创 2020-05-24 17:54:50 · 752 阅读 · 0 评论 -
【spring框架】通过注解配置bean
1 前言通过在类名前添加如下注解,并在 xml 文件中配置 context:component-scan 属性,指定待扫描的包(此类在该包下),IOC 容器将自动创建该类的一个 bean,其 id 为该类的类名(首字母转小写)。@Component:普通组件,标识一个受 IOC 容器管理的组件 @Repository:持久化层组件,标识一个受IOC容器管理的持久化层组件 @Service:业务逻辑层组件,标识一个受IOC容器管理的业务逻辑层组件 @Controller:表述层控制器组件,标识一原创 2020-05-19 12:16:51 · 373 阅读 · 0 评论 -
【spring框架】bean的自动装配
1 前言bean 的自动装配是指:不需要手动指定 property 的 value 值,spring 自动将匹配的属性注入 bean。主要有如下2种方式:bean 标签中 autowire 属性:bean 内所有未手动注入的属性将自动匹配并注入,有 byType 和 byName 2种匹配方式 @Autowire 标注:标有@Autowire的属性将自动匹配并注入,先采用 byType 匹配,再采用 byName 匹配注意:只有非字面量(非基本数据类型及其封装类)的属性才能自动装配,并且自动装配原创 2020-05-19 09:49:32 · 423 阅读 · 0 评论 -
【spring框架】引用外部资源文件
1 案例一Student.javapublic class Student { private Integer sid; private String sname; public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public Integer getSid() { return sid; } public原创 2020-05-17 23:16:34 · 467 阅读 · 0 评论 -
【spring框架】bean的生命周期和后置处理器
1 bean 的生命周期bean 的生命周期主要有:创建、依赖注入、初始化、使用、销毁Person.javapublic class Person { private Integer age; public Person() { System.out.println("1.创建对象"); } public Integer getAge() { return age; } public void setAge(Integer age) { System.out原创 2020-05-17 17:17:40 · 541 阅读 · 0 评论 -
【spring框架】bean的作用域
1 前言在 bean 标签的 scope 属性中可以选择不同作用域,主要有 prototype、request、session、singleton,如下:prototype:每次从容器中调用 bean 时,都生成一个新的 bean request:每次 HTTP 请求,都会创建一个 bean,仅适用于 WebApplicationContext 环境 session:同一个 HTTP Session 共享一个 bean,仅适用于 WebApplicationContext 环境 singlet原创 2020-05-17 15:56:32 · 225 阅读 · 0 评论 -
【spring框架】FactoryBean
Phone.classpublic class Phone { private String brand; private String color; public String getBrand() { return brand; } public void setBrand(String brand) { this.brand = brand; } public String getColor() { return color; } public vo原创 2020-05-17 11:39:25 · 260 阅读 · 0 评论 -
【spring框架】集合属性注入方法
1 前言本博客主要介绍spring框架中,注入集合属性的方法,主要包含 List 属性注入方法、 Set 属性注入方法、 Map 属性注入方法。在测试时,统一使用如下代码:Test.javaimport org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test { p原创 2020-05-16 22:38:17 · 336 阅读 · 0 评论 -
【spring框架】bean属性注入方式
1 前言spring框架注入属性的方法主要有如下3种:property 注入 p命名空间注入 构造器注入2 属性注入方法待注入的 bean 属于 Person 类,如下:Person.javapublic class Person { private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) {原创 2020-05-13 17:29:19 · 529 阅读 · 0 评论 -
【sping框架】第一个案例
1 开发工具与必要jar包1.1 下载STS工具资源链接->STS 3.9.2,可以修改链接中版本号,以下载不同版本的STS,如STS 3.9.0与 STS 3.9.2 链接地址基本相同,仅版本号不同。1.2 导入必要包资源l链接->spring-framework-4.0.0.RELEASE-dist,可以修改链接中版本号,以下载不同版本的spring-framework,如spring-framework-4.1.0.RELEASE-dist与 spring-...原创 2020-05-12 23:19:37 · 340 阅读 · 0 评论