spring框架

一起学习SpringBoot(一) SpringBoot 开始准备

China☆狼群 提交于 2020-03-30 08:04:26
一起学习SpringBoot(一) SpringBoot 开始准备 Spring Boot 简介 简化Spring应用开发的一个框架,整个Spring技术栈的一个大整合,J2EE开发的一站式解决方案 maven设置 <profile> <id>jdk-1.8</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.8</jdk> </activation> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion> </properties> </profile> 选择需要用的插件 /** * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 */ @SpringBootApplication public class HelloWorldMainApplication { public static void main(String[] args)

Spring事务管理--[基于XML的配置]

一曲冷凌霜 提交于 2020-03-30 00:21:28
我觉得自己写的不好,所以先贴一个写的好的帖子 感觉看完不用回来了。。。。 这是一个大佬写的的博客 : https://www.cnblogs.com/yixianyixian/p/8372832.html 第一:JavaEE 体系进行分层开发,事务处理位于业务层,Spring 提供了分层设计 业务层 的事务处理解决方 案。 第二:spring 框架为我们提供了一组事务控制的接口。具体在后面的第二小节介绍。这组接口是在 spring-tx-5.0.2.RELEASE.jar 中。 第三:spring 的事务控制都是基于 AOP 的,它既可以使用编程的方式实现,也可以使用配置的方式实现。我 们学习的重点是使用配置的方式实现。 API 介绍 PlatformTransationManager Spring提供了一个事务管理器接口 PlatformTransationManager ,该接口包含了三个方法: getTransation()//提交事务 commit();//提交事务 rollback();//回滚事务 在开发中,根据应用的技术不同,使用不同的实现类 SpringJDBC / iBatis:org.springframework.jdbc.datasource. DataSourceTransactionManager Hibernate:org

深入理解Spring系列之十三:IntrospectorCleanupListener解析

故事扮演 提交于 2020-03-29 21:11:30
Introspector作用及影响 在分析IntrospectorCleanupListener之前,先了解一下Introspector。Introspector是JDK中java.beans包下的类,它为目标JavaBean提供了一种了解原类方法、属性和事件的标准方法。通俗的说,就是可以通过Introspector构建一个BeanInfo对象,而这个BeanInfo对象中包含了目标类中的属性、方法和事件的描述信息,然后可以使用这个BeanInfo对象对目标对象进行相关操作。 下面看一个简单的示例会很容易明白。为了简单,Student类中只有一个name属性。 结果输出:Student{name='张三'} 通过查看Introspector.getBeanInfo方法的源码会发现,Introspector在构建一个BeanInfo对象的时候,会将构建的BeanInfo对象和原类缓存到一个Map中,源码如下。 通过上的代码可以得出,Introspector间接持有了BeanInfo的强引用。如果使用Introspector操作了很多类,那么Introspector将间接持有这些BeanInfo的强引用。在发生垃圾收集的时候,检测到这些BeanInfo存在引用链,则这些类和对应的类加载器将不会被垃圾收集器回收,进而导致内存泄漏。所以,为了解决这个问题

【Other】最近在研究的, Java/Springboot/RPC/JPA等

可紊 提交于 2020-03-29 07:13:10
Dubbo-大波-服务化框架 dubbo_百度搜索 Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错) - 好库文摘 User Guide-zh - Dubbo - Alibaba Open Sesame User Guide-zh - Dubbo - Alibaba Open Sesame 简单之美 | Dubbo架构设计详解 DUBBO Hprose RPC框架 java rpc_百度搜索 谁能用通俗的语言解释一下什么是 RPC 框架? - 知乎 Java程序员的现代RPC指南 - 西代零零发 - 博客频道 - CSDN.NET Hprose_百度搜索 Hprose Hprose Home Hprose首页、文档和下载 - 高性能跨语言 RPC - 开源中国社区 项目 - 码云 - 开源中国 hprose/hprose-doc: Hprose 文档汇总 hprose_百度百科 thrift 和 Hprose有什么区别吗?_百度知道 hprose具体用途案例是什么,看到这个东西但是想不出来具体应用实例和优势? - 知乎 Hprose使用经历 - xiang_quan123的专栏 - 博客频道 - CSDN.NET Hprose 2.0.0 for HTML5 发布,高性能跨语言RPC - 开源中国社区 为什么采用hprosehttpclient

Spring(二):使用spring框架

浪子不回头ぞ 提交于 2020-03-28 15:40:27
一、创建项目(本文使用IDEA,基于Maven,使用Maven非常方便依赖包的管理) 在pom.xml文件中添加spring的依赖,Maven会将相应的包帮我们自动导入项目中 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.3.9.RELEASE</version></dependency> 项目结构简介: .idea:放在那不用管 src:放项目代码的地方 pom.xml:Maven的配置文件,用来管理依赖包的 完善项目结构 在src下创建java和resource文件夹 对main/java文件夹,鼠标右键-->Mark Directory as-->Sources Root 对main/resource文件夹,鼠标右键-->Mark Directory as-->Resources Root 在java文件夹下创建com.zhurouwangzi包 在com.zhurouwangzi包下分别创建controller、service、dao、entity包 在resource文件夹下创建spring文件夹,并在spring文件夹下创建applicationContext.xml文件,此文件未spring的配置文件

Spring 教程(一) 概述

雨燕双飞 提交于 2020-03-28 15:27:49
Spring 教程 Spring 框架是一个开源的 Java 平台,它为容易而快速的开发出耐用的 Java 应用程序提供了全面的基础设施。 Spring 框架最初是由 Rod Johnson 编写的,并且 2003 年 6 月首次在 Apache 2.0 许可下发布。 本教程是基于在 2015 年 3 月发布的 Spring 框架 4.1.6 版本编写的。 适用人群 本教程是为需要详细了解 Spring 框架的体系结构和实际应用的 Java 程序员设计的。本教程将带你达到中级的专业知识水平,而你可以将自己提升至更高层次的专业知识水平。 学习前提 在进行本教程之前,你应该对 Java 编程语言有一个很好的了解。对 Eclipse IDE 的基本了解也是必须的,因为所有的示例都是使用 Eclipse IDE 进行编译的。 概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架。数以百万的来自世界各地的开发人员使用 Spring 框架来创建好性能、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且 2003 年 6 月首次在 Apache 2.0 许可下发布。 当谈论到大小和透明度时, Spring 是轻量级的。 Spring 框架的基础版本是在 2 MB 左右的。 Spring

Spring 框架系列之事务管理

筅森魡賤 提交于 2020-03-27 22:21:08
1、事务回顾 (1)、什么是事务: 事务是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败。 (2)、事务特性(ACID) 原子性 :强调事务的不可分割 一致性 :事务的执行的前后数据的完整性保持一致 隔离性 :一个事务执行的过程中,不应该受到其他事务的干扰 持久性 :事务一旦结束,数据就持久到数据库 (3)、事务并发安全性问题 脏读 :一个事务读到了另一个事务的未提交的数据 不可重复读 :一个事务读到了另一个事务已经提交的 update 的数据导致多次查询结果不一致 幻读 :一个事务读到了另一个事务已经提交的 insert 的数据导致多次查询结果不一致 (4)、事务隔离级别 未提交读 :脏读,不可重复读,幻读都有可能发生 已提交读 :避免脏读,但是不可重复读和幻读有可能发生 可重复读 :避免脏读和不可重复读,但是幻读有可能发生 串行化 :避免以上所有读问题 (5)、常见数据库默认事务隔离级别 MySQL:可重复读 Oracle:读已提交 2、Spring 事务管理 (1)、基本事务操作 打开事务 提交事务 回滚事务 (2)、事务操作对象 Spring 事务管理中提供了 PlatformTransactionManager 接口操作事务,其中最为核心的对象是 TransactionManager 对象。 (3)、Spring 事务隔离级别 读未提交 读已提交

spring事务的传播特性

别来无恙 提交于 2020-03-27 17:03:42
Spring 事务一个被讹传很广说法是:一个事务方法不应该调用另一个事务方法,否则将产生两个事务。结果造成开发人员在设计事务方法时束手束脚,生怕一不小心就踩到地雷。 其实这种是不认识 Spring 事务传播机制而造成的误解,Spring 对事务控制的支持统一在 TransactionDefinition 类中描述,该类有以下几个重要的接口方法: int getPropagationBehavior():事务的传播行为 int getIsolationLevel():事务的隔离级别 int getTimeout():事务的过期时间 boolean isReadOnly():事务的读写特性。 很明显,除了事务的传播行为外,事务的其它特性 Spring 是借助底层资源的功能来完成的,Spring 无非只充当个代理的角色。但是事务的传播行为却是 Spring 凭借自身的框架提供的功能,是 Spring 提供给开发者最珍贵的礼物,讹传的说法玷污了 Spring 事务框架最美丽的光环。 所谓事务传播行为就是多个事务方法相互调用时,事务如何在这些方法间传播。Spring 支持 7 种事务传播行为: PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中。这是最常见的选择。 PROPAGATION_SUPPORTS 支持当前事务

Spring WebFlux 入门

核能气质少年 提交于 2020-03-27 14:37:31
1. WebFlux介绍 Spring WebFlux 是 Spring Framework 5.0中引入的新的响应式web框架。与Spring MVC不同,它不需要Servlet API,是完全异步且非阻塞的,并且通过Reactor项目实现了Reactive Streams规范。 Spring WebFlux 用于创建基于事件循环执行模型的完全异步且非阻塞的应用程序。 (PS:所谓异步非阻塞是针对服务端而言的,是说服务端可以充分利用CPU资源去做更多事情,这与客户端无关,客户端该怎么请求还是怎么请求。) Reactive Streams是一套用于构建高吞吐量、低延迟应用的规范。而Reactor项目是基于这套规范的实现,它是一个完全非阻塞的基础,且支持背压。Spring WebFlux基于Reactor实现了完全异步非阻塞的一套web框架,是一套响应式堆栈。 【spring-webmvc + Servlet + Tomcat】响应式的、异步非阻塞的 【spring-webflux + Reactor + Netty】命令式的、同步阻塞的 2. Spring WebFlux Framework Spring WebFlux有两种风格:功能性和基于注释的。基于注释的与Spring MVC非常相近。例如: 1 @RestController 2 @RequestMapping("

Spring框架之Filter应用

泄露秘密 提交于 2020-03-27 07:45:47
在web.xml中进行配置,对所有的URL请求进行过滤,就像"击鼓传花"一样,链式处理。 配置分为两种A和B。 1 在web.xml中增加如下内容: 2 <filter> 3 <filter-name>permissionFilter</filter-name> 4 <filter-class>com.taobao.riskm.filter.PermissionFilter</filter-class> 5 </filter> 6 <filter-mapping> 7 <filter-name>permissionFilter</filter-name> 8 <url-pattern>/*</url-pattern> 9 </filter-mapping> 10 由filter和filter-mapping构成。filter指定过滤器处理类(实现了Filter接口),filter-mapping指定过滤的规则。 B:高级配置 (允许代理注入Spring bean) 1 在web.xml中增加如下内容: 2 <filter> 3 <filter-name>permission</filter-name> 4 <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 5 <init