一杯甜酒
金融科技领域技术 & 云基础设施 & 云原生微服务 & 云原生时代标准交付 & PAAS 技术研发 & Kubernetes & 项目与技术管理
展开
-
Spring 学习总结(37)—— 了解什么是单体的模块化,Spring Modulith 入门实践
对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。此外,它还支持开发人员构建结构良好且业务领域对齐的Spring Boot应用程序。原创 2023-05-24 14:50:56 · 1748 阅读 · 0 评论 -
Spring 学习总结(36)—— Spring 状态机优雅实践
Spring Statemachine 是应用程序开发人员在 Spring 应用程序中使用状态机概念的框架。Spring Statemachine旨在提供以下功能:易于使用的扁平单级状态机,用于简单的使用案例。分层状态机结构,以简化复杂的状态配置。状态机区域提供更复杂的状态配置。使用触发器,转换,警卫和操作。键入安全配置适配器。生成器模式,用于在Spring Application上下文之外使用的简单实例化通常用例的食谱基于Zookeeper的分布式状态机状态机事件监听器。原创 2023-05-24 14:13:18 · 845 阅读 · 0 评论 -
Spring 学习总结(35)—— Spring 6.0 新特性总结
Spring 6.0 新特性总结原创 2022-11-09 13:39:38 · 2004 阅读 · 0 评论 -
Spring 学习总结(34)——Spring Batch 批处理框架使用总结
一、Spring Batch 简介Spring Batch 是 Spring 提供的一个数据处理框架。企业域中的许多应用程序需要批量处理才能在关键任务环境中执行业务操作。 这些业务运营包括:无需用户交互即可最有效地处理大量信息的自动化,复杂处理。 这些操作通常包括基于时间的事件(例如月末计算,通知或通信)。 在非常大的数据集中重复处理复杂业务规则的定期应用(例如,保险利益确定或费率调整)。 集成从内部和外部系统接收的信息,这些信息通常需要以事务方式格式化,验证和处理到记录系统中。 批处理用于每原创 2022-04-12 03:15:00 · 657 阅读 · 0 评论 -
Spring学习总结(33)—— 用 Spring 的 @Transactional 注解控制事务有哪些不生效的场景?
数据库引擎不支持事务这里以 MySQL 为例,其 MyISAM 引擎是不支持事务操作的,InnoDB 才是支持事务的引擎,一般要支持事务都会使用 InnoDB。根据 MySQL 的官方文档:https://dev.mysql.com/doc/refman/5.5/en/storage-engine-setting.html从 MySQL 5.5.5 开始的默认存储引擎是:InnoDB,之前默认的都是:MyISAM,所以这点要值得注意,底层引擎不支持事务再怎么搞都是白搭。没有被 Sprin原创 2021-08-04 10:25:56 · 276 阅读 · 0 评论 -
Spring学习总结(32)—— 宣布 Spring Native Beta 版!
今天,经过一年半的工作,我很高兴地宣布,我们将发布Spring Native的 beta 版本及其在start.spring.io上的可用性!实际上,这意味着除了 Spring 自推出以来支持的常规 Java 虚拟机之外,我们还添加了 beta 支持,以使用GraalVM将 Spring 应用程序编译为原生映像,以提供一种部署 Spring 应用程序的新方法。支持 Java 和 Kotlin。这些原生 Spring 应用程序可以部署为独立的可执行文件(无需安装 JVM)并提供有趣的特性,包.转载 2021-06-17 09:30:41 · 442 阅读 · 0 评论 -
Spring学习总结(31)——Spring Bean 生命周期总结
一、Spring 容器中的 Bean 的完整生命周期bean对象的实例化 封装属性,也就是设置properties中的属性值 如果bean实现了BeanNameAware,则执行setBeanName方法,也就是bean中的id值 如果实现BeanFactoryAware或者ApplicationContextAware ,需要设置setBeanFactory或者上下文对象setApplicationContext 如果存在类实现BeanPostProcessor后处理bean,执行postPr原创 2020-07-09 09:39:36 · 594 阅读 · 0 评论 -
Spring学习总结(30)——Spring事物(@transactional注解)在什么情况下会失效,为什么?
一、@transactional 的使用1、一般在service里加@Transactional注解,不建议在接口上添加 2、加了此注解后每个业务方法执行时,都会开启一个事务,不过都是按照相同的管理机制。 3、@Transactional注解只能应用到public修饰符上,其它修饰符不起作用,但不报错。 4、默认情况下此注解会对unchecked异常进行回滚,对checked异常不回滚。...原创 2019-12-02 14:30:35 · 4644 阅读 · 0 评论 -
Spring学习总结(29)——Spring异步处理@Async的使用以及原理、源码分析(@EnableAsync)
在开发过程中,我们会遇到很多使用线程池的业务场景,例如异步短信通知、异步记录操作日志。大多数使用线程池的场景,就是会将一些可以进行异步操作的业务放在线程池中去完成。例如在生成订单的时候给用户发送短信,生成订单的结果不应该被发送短信的成功与否所左右,也就是说生成订单这个主操作是不依赖于发送短信这个操作,所以我们就可以把发送短信这个操作置为异步操作。那么本文就是来看看Spring中提供的优雅的异步处理...转载 2019-12-02 11:43:16 · 6006 阅读 · 1 评论 -
Spring学习总结(28)——Spring获取request对象的几种方法及线程安全性总结
分享一个大神的人工智能教程。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程前言在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址、请求的url、header中的属性(如cookie、授权信息)、body中的数据等。由于在Spring MVC中,处理请求的Controller、Service等...原创 2019-02-26 10:40:51 · 1086 阅读 · 0 评论 -
Spring学习总结(27)——Spring常用注解再总结
1、声明Bean的注解@Component 组件,没有明确的角色。@Service 在业务逻辑层使用(service层)。@Repository 在数据访问层使用(dao层)。@Controller 在展现层使用,控制器的声明(Controller层)。2、注入Bean的注解@Autowired 由Spring提供。@Inject 由JSR-330提供。@R...原创 2018-10-23 12:50:10 · 1039 阅读 · 0 评论 -
Spring学习总结(26)——Spring事务原理详解
一、事务的基本原理Spring事务的本质其实就是数据库对事务的支持,没有数据库的事务支持,spring是无法提供事务功能的。对于纯JDBC操作数据库,想要用到事务,可以按照以下步骤进行:(1)、获取连接:Connection con = DriverManager.getConnection()(2)、开启事务:con.setAutoCommit(true/false);(3)、执行:CRUD...原创 2018-06-22 18:12:52 · 5644 阅读 · 1 评论 -
Spring学习总结(25)——注解@PostConstruct和@PreDestroy使用总结
@PostConstruct 和 @PreDestroy这两个都是方法的注解,将注解标注在方法上,该方法就能够在应用启动和销毁时执行,@PostConstruct 注解标注的函数,是在类执行完构造函数之后执行。@PreDestroy 注解标注的函数,是在应用结束之前执行。场景介绍:(缓存场景)比如我们想要在应用启动后,从数据库加载一些基础信息,比如城市,将其加载到本地的一个List结构中,这样没错原创 2018-02-23 09:45:31 · 1938 阅读 · 0 评论 -
Spring学习总结(24)——Spring配置文件加载路径总结
1. Spring使用ClassPathXmlApplicationContext 从classpath读取ClassPathXmlApplicationContext 默认会去 classPath 路径下找。classPath 路径指的就是编译后的 classes 目录。 1.1 如果配置文件在classpath目录下:ClassPathXmlApplicationContext tx = ne原创 2017-11-26 13:32:16 · 1163 阅读 · 0 评论 -
Spring学习总结(23)——Spring Framework 5.0 新特性
Spring Framework 5.0 是自 2013年12月版本 4 发布之后 Spring Framework 的第一个主发行版。Spring Framework 项目的领导人 Juergen Hoeller 于 2016 年 7 月 28 日宣布了第一个 Spring Framework 5.0 里程碑版本(5.0 M1)。现在,将近一年的时间过去以后,我们期盼已久的 RC3原创 2017-08-21 14:47:35 · 22358 阅读 · 1 评论 -
Spring学习总结(22)——Spring-framework-bom解决spring的不同模块依赖版本不同问题
Spring不同模块或者与外部进行集成时,依赖处理就需要各自对应版本号。比如,较新spring与较老的quartz,它们集成就会遇到问题,给搭建和升级带来不便。因此Spring IO Platform应运而生,只要项目中引入了它,外部集成时依赖关系无需版本号。Spring IO Platform只是一个pom文件,记录了spring与其他开源项目对应的版本。省去了版本号,也就省去了处理依赖时的问题原创 2017-04-20 11:23:59 · 15257 阅读 · 0 评论 -
Spring学习总结(21)——Spring集成阿里巴巴数据库连接池DruidDataSource配置及其常见问题汇总
一、参考配置如下原创 2017-01-13 12:03:51 · 10586 阅读 · 1 评论 -
Spring学习总结(20)——Spring加载多个项目properties配置文件问题解决
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder '${redis.host}' at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.jav原创 2016-11-17 09:46:16 · 3469 阅读 · 0 评论 -
Spring学习总结(19)——Spring概念详解
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。你可能正在想“Spring不过是另外一个的framework”。当已经有许多开放源代码(和专有)J2EEframework时,我们为什么还需要Spring Framework?...原创 2016-09-20 14:17:52 · 3987 阅读 · 1 评论 -
Spring学习总结(18)——Spring整合Mysql数据库一主多从、多主多从配置
一、新建jdbc.properties配置文件master.jdbc.driverClassName=com.mysql.jdbc.Drivermaster.jdbc.url=jdbc:mysql://127.0.0.1:3306/springdemo?useUnicode=true&characterEncoding=UTF-8master.jdbc.username=rootmaster.转载 2016-09-09 17:39:21 · 7156 阅读 · 0 评论 -
Spring学习总结(17)——Spring AOP权限管理
每个项目都会有权限管理系统无论你是一个简单的企业站,还是一个复杂到爆的平台级项目,都会涉及到用户登录、权限管理这些必不可少的业务逻辑。有人说,企业站需要什么权限管理阿?那行吧,你那可能叫静态页面,就算这样,但你肯定也会有后台管理及登录功能。每个项目中都会有这些几乎一样的业务逻辑,我们能不能把他们做成通用的系统呢?AOP 实现用户权限验证AOP 在实际项目中运用的场景主要有 权限转载 2016-09-09 17:29:41 · 2798 阅读 · 0 评论 -
Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
深刻讨论为什么要读写分离?为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的。「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧。从一个库到读写分离,从理论上对服务器压力来说是会带来一倍的性能提升,但你仔细思考一下,你的应用服务器真转载 2016-09-08 09:47:11 · 3405 阅读 · 0 评论 -
Spring学习总结(15)——Spring AOP 拦截器的基本实现
一个程序猿在梦中解决的 Bug没有人是不做梦的,在所有梦的排行中,白日梦最令人伤感。不知道身为程序猿的大家,有没有睡了一觉,然后在梦中把睡之前代码中怎么也搞不定的 Bug 给解决的经历?反正我是有过。什么是 AOP ?AOP 为 Aspect Oriented Programming 的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术转载 2016-09-08 09:46:32 · 2030 阅读 · 0 评论 -
Spring学习总结(10)——Spring JMS---三种消息监听器
消息监听器MessageListener在spring整合JMS的应用中我们在定义消息监听器的时候一共可以定义三种类型的消息监听器,分别是MessageListener、SessionAwareMessageListener和MessageListenerAdapter。下面就分别来介绍一下这几种类型的区别。 1. MessageListener MessageListener是最原创 2016-05-16 12:51:54 · 8150 阅读 · 0 评论 -
Spring学习总结(14)——Spring10种常见异常解决方法
在程序员生涯当中,提到最多的应该就是SSH三大框架了。作为第一大框架的Spring框架,我们经常使用。然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉。一、找不到配置文件的异常[plain] view plaincopyorg.springframework.beans.factory.BeanDefinitionStoreException:原创 2016-07-15 18:45:39 · 8046 阅读 · 1 评论 -
Spring学习总结(13)——Spring+Log4j+ActiveMQ实现远程记录日志
应用场景随着项目的逐渐扩大,日志的增加也变得更快。Log4j是常用的日志记录工具,在有些时候,我们可能需要将Log4j的日志发送到专门用于记录日志的远程服务器,特别是对于稍微大一点的应用。这么做的优点有:可以集中管理日志 :可以把多台服务器上的日志都发送到一台日志服务器上,方便管理、查看和分析可以减轻服务器的开销 :日志不在服务器上了,因此服务器有更多可用的磁盘空间可以提高服务器的性能原创 2016-07-06 09:32:02 · 3719 阅读 · 0 评论 -
Spring学习总结(12)——Druid连接池及监控在spring配置
Druid连接池及监控在spring配置如下: id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> name="url" value="${jdbc_url}" /> name="user原创 2016-06-30 15:07:55 · 2146 阅读 · 0 评论 -
Spring学习总结(11)——Spring JMS MessageConverter介绍
消息转换器MessageConverter MessageConverter的作用主要有两方面,一方面它可以把我们的非标准化Message对象转换成我们的目标Message对象,这主要是用在发送消息的时候;另一方面它又可以把我们的Message对象转换成对应的目标对象,这主要是用在接收消息的时候。 下面我们就拿发送一个对象消息来举例,假设我们有这样一个需求:我们平台有一个发送邮件的功能,进原创 2016-05-16 12:53:07 · 8872 阅读 · 0 评论 -
Spring学习总结(9)——Spring AOP总结
spring IOC和AOP是Spring框架的两大核心基石,本文将对Spring AOP做一个系统的总结。什么是AOPAOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需...原创 2016-05-16 12:43:17 · 8459 阅读 · 3 评论 -
Spring学习总结(8)——25个经典的Spring面试问答
1、什么是Spring框架?Spring框架有哪些主要模块? Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java平台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。转载 2016-05-13 18:09:23 · 3335 阅读 · 0 评论 -
Spring学习总结(7)——applicationContext.xml 配置文详解
web.xml中classpath:和classpath*: 有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 存放位置:1:src下面 需要在web.xml中定义如下:contextConfigLocation原创 2016-04-27 18:33:51 · 2093 阅读 · 0 评论 -
Spring学习总结(6)——Spring之核心容器bean
一、Bean的基础知识1.在xml配置文件中,bean的标识(id 和 name) id:指定在benafactory中管理该bean的唯一的标识。name可用来唯一标识bean 或给bean起别名。[html] view plaincopy bean id="helloWorld" class="com.name.Hello原创 2016-01-06 15:11:07 · 2314 阅读 · 1 评论 -
Spring学习总结(5)——IOC注入方式总结
一、构造注入在类被实例化的时候,它的构造方法被调用并且只能调用一次。所以它被用于类的初始化操作。是标签的子标签。通过其子标签可以为构造方法传递参数。现在以一个简单的输出学生信息的实例演示如何为构造方法传递参数。实例程序创建过程如下。(1)建立 Student 接口,它是对学生类的简单抽象。程序代码如下[java] view plaincopy原创 2016-01-06 14:57:24 · 2216 阅读 · 0 评论 -
Spring学习总结(4)——Spring AOP教程
一、概念AOP(Aspect Oriented Programming):面向切面编程。面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。二、用途日志记录,性能统计,安全控制,权限管理,事务处原创 2015-11-16 15:35:03 · 2796 阅读 · 1 评论 -
Spring学习总结(3)——Spring配置文件详解
Spring配置文件是用于指导Spring工厂进行Bean生产、依赖关系注入(装配)及Bean实例分发的"图纸"。Java EE程序员必须学会并灵活应用这份"图纸"准确地表达自己的"生产意图"。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。原创 2015-12-30 09:11:48 · 3593 阅读 · 2 评论 -
Spring学习总结(2)——Spring的常用注解
本文汇总了Spring的常用注解,以方便大家查询和使用,具体如下:使用注解之前要开启自动扫描功能其中base-package为需要扫描的包(含子包)。?1package="cn.test"/>@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容原创 2015-12-17 14:35:34 · 2553 阅读 · 2 评论 -
Spring学习详解(1)——Spring入门详解
一:spring的基本用法:1,关于spring容器:spring容器是Spring的核心,该 容器负责管理spring中的java组件,ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//这种方式实例化容器,容器会自动预初始化所有Bean实例ctx.getBean("beanName原创 2015-12-30 09:25:13 · 6367 阅读 · 6 评论