Spring
文章平均质量分 93
爆裂码手
I thought coding was easy.
展开
-
深入spring ——加载外部配置bean到当前容器中
最近在阅读spring源码,(看,,,心累),对于结果,当然是希望对实际开发有所用。所以,在这过程中打算做点笔记。在spring已经启动的情况下,希望从配置文件中再加入bean和bean所需要的参数,比如从把各种bean.xml文件保存在数据库中xml文件中有类的一些属性,需要时再加载所需的配置该类,并且set属性到当前容器中。具体看以下例子把。首先,创建已经MyBean类(因为map属性原创 2016-11-17 16:32:15 · 4162 阅读 · 2 评论 -
MyBatis源码阅读——Spring加载MyBatis过程解析
我们平时在项目中都是用Spring来管理的,那么,Spring是如何管理MyBatis的呢?我们来一探究竟。编程式加载MyBatis要了解Spring是如何加载MyBatis的,我想还是先来回顾一下我们是如何用编程的方式去加载MyBatis框架的 String resource = "mybatis/conf/mybatis-config.xml"; InputStre...原创 2018-06-12 11:34:48 · 11502 阅读 · 0 评论 -
Spring源码阅读——Core Container(核心容器)
Spring中的Core Container(核心容器)包含有Core、Beans、Context和Expression Language模块。Core和Beans模块是框架的基础部分,提供IoC(反转控制)和依赖注入特性。这里的基础概念是BeanFactory,它对Factory模式的金典实现来消除对程序性单利模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。Core 模块主要包...原创 2018-07-06 14:01:17 · 4383 阅读 · 0 评论 -
Spring源码阅读——bean的加载过程解析
前言在上一节中,我们已经了解过Spring对bean从XML中提取,并且以BeanDefinition类型解析注册到Spring的DefaultListableBeanFactory中取了,那么,接下来就应该来看下我们在Spring中获取一个实例过程中,bean是如何加载成为我们需要的对象的了。通过getBean方法了解bean的加载在Spring中我们是通过getBean方法去获取,...原创 2018-07-09 16:42:52 · 577 阅读 · 1 评论 -
spring-boot-devtools在Idea中热部署方法使用
1、引入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <!-- optional=true,依赖不会传递,该项目依赖devtools;之后依赖...原创 2018-07-03 09:15:18 · 2667 阅读 · 0 评论 -
Spring源码阅读——ApplicationContext
Spring中提供了一个接口ApplicationContext,用于扩展BeanFactory中现有的功能。它提供了更多的功能。现在我们来看下它的实现: public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) ...原创 2018-07-17 16:33:28 · 420 阅读 · 0 评论 -
借助Spring的Resource去读取资源文件
在阅读Spring源码的过程中,我们可以看到,Spring的配置文件读取是通过ClassPathResource进行封装的,在日常的开发工作中,资源文件的加载也是经常用到的,可以直接使用Spring提供的类。而且可以使用该类支持的其他功能。import org.springframework.core.io.ClassPathResource;import org.springframewo...原创 2018-07-05 10:45:19 · 2409 阅读 · 0 评论 -
Spring源码阅读——bean提取注册过程
BeanDefinition定义及作用BeanDefinition作为定义springBean文件中bean的接口,可以说是bean的抽象数据结构,它包括属性参数,构造器参数,以及其他具体的参数。当 BeanDefinition 注册完毕以后, Spring Bean 工厂就可以随时根据需要进行实例化了。对于XmlBeanFactory 来说,实例化默认是延迟进行的,也就是说在 getBean...原创 2018-07-06 14:13:45 · 970 阅读 · 0 评论 -
框架集成——SpringMVC与MyBatis集成(超详细)
SpringMVC与MyBatis是我们现在最流行的开发框架组合之一,这里我来整理一下框架的集成搭建过程前言使用IDE:IntelliJ IDEA JDK:1.8打开IDEA,新建maven工程第一步:打开IDEA,点击Create New Project 第二步: 选择新建一个Maven项目,然后从Maven项目模板工具包中选择常用的[maven-arche...原创 2018-08-24 11:04:38 · 21567 阅读 · 2 评论 -
Spring JTA——使用Atomikos实现分布式事务
问题 多个数据源连接多个数据库,如何保证事务配置<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/bean...原创 2018-04-24 11:44:16 · 1001 阅读 · 0 评论 -
SpringBoot使用redis共享session
问题在集群环境中,session需要共享,此时可以借助中间件来操作。我们可以自己实现,通过cookie跟redis的组合来共享集群的session,之前也做过类似的操作https://github.com/yuyufeng1994/SessionShare在Spring中,已经提供了插件——spring-session-data-redis,本文就来记录下此方法的使用(基于SpringBo...原创 2018-04-19 11:48:49 · 769 阅读 · 0 评论 -
Spring源码阅读——Bean的加载和获取过程
我们经常使用Spring,并且也都了解其大概原理。我想我们一定会对Spring源码的解读有迫切的渴望。我也如此。所以,我打算阅读一下Spring的源码。再此之前,我也为此准备了很多。包括,去复习熟练java反射,理解常用的设计模式。当然,这些复习笔记也会在今后的复习中顺便记录在我的csdn博客。(当然,可能写的不好,也可能理解不正确(可以一起交流嘛)。但是乐于分享总归是好的。)首先看下原创 2016-11-18 16:13:32 · 25366 阅读 · 7 评论 -
Spring源码阅读——简单模拟Spring的控制反转IOC和依赖注入(Bean的加载和获取)
package bean.modeled;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;/** * Created by yuyufeng on 2016/11/18. */public cla原创 2016-11-18 17:14:16 · 1380 阅读 · 1 评论 -
基于Spring MVC+Mybaits的集成
在我们开发web项目的时候,我们不断的集成框架。比如我就从一开始的Servlet+DButils到Struts2+SpringMVC+Hibernate,然后又集成JPA。发现自己开发的时候用Struts2开发太慢,就从Struts2到Spring MVC的转换。每次集成框架,总会有更加让自己的开发变得便捷。比如,用了JPA+Hibernate之后,对于合适的项目开发非常快。后来,由于项目需要,发...原创 2017-02-13 10:41:29 · 617 阅读 · 0 评论 -
Spring MVC中使用 hibernate-validtor进行服务端验证
搭好Spring MVC的基本框架,并且可以成功运行起来 …此步骤省略 引入依赖包<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.4.1.Final</version></dependency>在Spring原创 2017-10-09 17:41:23 · 998 阅读 · 0 评论 -
Spring AOP几种方式的使用
引入依赖<spring-version>4.2.3.RELEASE</spring-version><dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope></dependency><dependen原创 2017-11-20 10:45:03 · 445 阅读 · 0 评论 -
quartz与Spring的整合
简介Quartz是一个功能丰富、开源的作业调度库,可以集成在几乎任何java应用程序从最小的独立的应用程序的最大的电子商务系统。Quartz可以用来创建简单或复杂的执行数十,数百的时间表,甚至成千上万的工作;其任务是定义为一个标准的java组件,可以执行几乎任何你可以计划去做的工作。Quartz调度包括很多企业级功能,如JTA事务支持和聚类。本篇文章是quartz与Spring的整合的例子,然...原创 2018-04-02 15:05:31 · 356 阅读 · 0 评论 -
Spring源码阅读——通过debug源码解析SpringMVC的流程
准备简单搭建一个Spring MVC的项目,并写一个Controller,运行一个基本的请求转发DispatcherServlet类图分析 由此图我们可以分析的到,DispatcherServlet继承的FrameworkServlet实现了Spring中的ApplicationContextAware接口,然后又间接继承了HttpServlet。所以实质上是一个Servlet,...原创 2018-04-10 16:40:40 · 4431 阅读 · 1 评论 -
SpringBoot+SpringCloud脚手架
项目地址https://github.com/yuyufeng1994/sample-springboot模块说明[sample-springboot-provider] 提供层[sample-springboot-web] springboot的基本使用[sample-springcloud] springcloud模块[sample-springb...原创 2018-04-13 14:43:08 · 1867 阅读 · 0 评论 -
Spring事务流程解析
从Spring配置入口 <!--配置事务管理器--> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSou.原创 2018-04-23 13:28:50 · 1414 阅读 · 0 评论 -
Spring源码阅读——BeanFactoryPostProcessor与BeanPostProcessor
摘要Spring IoC容器允许BeanFactoryPostProcessor在容器实例化任何bean之前读取bean的定义(配置元数据),并可以修改它。BeanFactoryPostProcessor:BeanFactory的后置处理器(处理的对象是BeanFactory),BeanFactoryPostProcessor是在spring容器加载了bean的定义文件之后,在bean实例化...原创 2018-10-10 14:45:13 · 327 阅读 · 0 评论