
spring
江上渔者21号
这个作者很懒,什么都没留下…
展开
-
Bean 加载流程
Spring的加载过程相对是不太透明的,不太好去找加载的代码入口。下面有很简单的一段代码可以作为Spring代码加载的入口:ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");AServiceImpl targetClass=(AServiceImpl)ac...转载 2018-06-12 16:59:45 · 235 阅读 · 0 评论 -
spring boot 与 spring cloud 的区别
作者:国明链接:https://www.zhihu.com/question/47304987/answer/664131264来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。可以这样理解 ,一、spring boot 可以理解为是spring的全家桶 启动器他的场景是,你想开始一个工程,里面会用到很多的第三方工具,如1,spring mvc...转载 2019-06-08 23:32:46 · 214 阅读 · 0 评论 -
Spring事务传播行为详解
前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文...转载 2019-04-23 16:38:57 · 162 阅读 · 0 评论 -
@transactional注解在什么情况下会失效,为什么?
一,特性:1,一般在service里加@Transactional注解,不建议在接口上添加,加了此注解后此类会纳入spring事务管理中,每个业务方法执行时,都会开启一个事务,不过都是按照相同的管理机制。2,@Transactional注解只能应用到public修饰符上,其它修饰符不起作用,但不报错。3,默认情况下此注解会对unchecked异常进行回滚,对checked异常不回滚。那...转载 2019-04-09 20:32:09 · 3050 阅读 · 0 评论 -
简述Spring容器与SpringMVC的容器的联系与区别
摘要:在Spring整体框架的核心概念中,容器的核心思想是管理Bean的整个生命周期。但在一个项目中,Spring容器往往不止一个,最常见的场景就是在一个项目中引入Spring和SpringMVC这两个框架,其本质就是两个容器:Spring是根容器,SpringMVC是其子容器。关于这两个容器的创建、联系及区别也正是本文所关注的问题。版权声明:本文原创作者:书呆子Rico 作者博客...转载 2019-03-10 20:56:47 · 175 阅读 · 0 评论 -
Async
Spring中@Async在Java应用中,绝大多数情况下都是通过同步的方式来实现交互处理的;但是在处理与第三方系统交互的时候,容易造成响应迟缓的情况,之前大部分都是使用多线程来完成此类任务,其实,在spring 3.x之后,就已经内置了@Async来完美解决这个问题 1. 何为异步调用? 在解释异步调用之前,我们先来看同步调用的定义;同步就是整个处理过程顺序执行,当各个过...转载 2019-01-08 14:06:18 · 143 阅读 · 0 评论 -
spring配置文件头部xmlns 配置解说
使用spring也有一段时间了,配置文件也见了不少了,但是发现配置文件的beans里面有很多链接,一开始也很迷惑,所以抽了一点时间整里了一下。首先我们看到的一个spring的配置文件大概如下面这个样子:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/s...转载 2018-12-09 13:25:02 · 2417 阅读 · 0 评论 -
Web容器 与Spring容器 启动
spring容器是如何在web应用中得到应用的,web容器又是如何以及何时启动spring容器的呢? 话不多说,看web.xml中几段配置: <!---①从类路径下加载spring配置文件-> <context-param> <param-name>contextConfigLocation</param-nam...转载 2018-11-26 16:02:23 · 398 阅读 · 0 评论 -
ServletContext与ApplicationContext的区别
Spring中的概念在阅读Spring源码或相关的文献时,经常会遇到WebApplicationContext, ApplicationContext, ServletContext以及ServletConfig等名词,这些名词都很相近,但适用范围又有所不同,对理解源码及spring内部实现造成混淆,因此有必要对这些概念进行一些比较.为了后续比较的方便,首先我们先来澄清这几个名词的概念...转载 2018-11-26 12:29:42 · 12259 阅读 · 2 评论 -
web开发中 web 容器的作用(如tomcat)
我们讲到servlet可以理解服务器端处理数据的java小程序,那么谁来负责管理servlet呢?这时候我们就要用到web容器。它帮助我们管理着servlet等,使我们只需要将重心专注于业务逻辑。什么是web容器?servlet没有main方法,那我们如何启动一个servlet,如何结束一个servlet,如何寻找一个servlet等等,都受控于另一个java应用,这个应用我们就称之为we...转载 2018-11-26 12:24:06 · 201 阅读 · 0 评论 -
tomcat 中 web.xml 中的listener、 filter、servlet 加载顺序及其详解
在项目中总会遇到一些关于加载的优先级问题,刚刚就遇到了一个问题,由于项目中使用了quartz任务调度,quartz在web.xml中是使用listener进行监听的,使得在tomcat启动的时候能马上检查数据库查看那些任务未被按时执行,而数据库的配置信息在是在web.xml中使用servlet配置的,导致tomcat启动后在执行quartz任务时报空指针,原因就是servlet中的数据库连接信息未...转载 2018-11-26 12:21:11 · 4191 阅读 · 0 评论 -
spring容器和springmvc容器,以及web容器的关系
说到spring和springmvc,其实有很多工作好多年的人也分不清他们有什么区别,如果你问他项目里用的什么MVC技术,他会说我们用的spring和mybatis,或者spring和hibernate。在潜意识里会认为springmvc就是spring,之前我也是这么认为的,哈哈。 虽然springMVC和spring有必然的联系,但是他们的区别也是有的。下面我就简单描述下 首...转载 2018-11-26 12:05:13 · 249 阅读 · 0 评论 -
AOP的概念与简单使用
一、什么是AOP AOP(Aspect Oriented Programming)面向切面编程不同于OOP(Object Oriented Programming)面向对象编程,AOP是将程序的运行看成一个流程切面,其中可以在切面中的点嵌入程序。 举个例子,有一个People类,也有一个Servant仆人类,在People吃饭之前,Servant会准备饭,在People吃完饭之后,Ser...转载 2018-11-17 13:16:20 · 171 阅读 · 0 评论 -
如何打印出已经加载的bean
:创建一个类package com.xxx.xxx.xxx.xxx.util;import org.springframework.beans.BeansException;import org.springframework.beans.factory.config.BeanPostProcessor;/*** @Package Name : ${PACKAG_NAME}* @A...原创 2018-11-20 16:55:12 · 956 阅读 · 0 评论 -
ContextLoaderListener作用详解
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。至于ApplicationContext.xml这个配置文件部署在哪,如何配置多个xml文件,书上都没怎么详细说明。现在的方法就是查...转载 2018-11-14 08:11:56 · 900 阅读 · 0 评论 -
Spring 的监听事件 ApplicationListener 和 ApplicationEvent 用法
什么是ApplicationContext? 它是Spring的核心,Context我们通常解释为上下文环境,但是理解成容器会更好些。 ApplicationContext则是应用的容器。Spring把Bean(object)放在容器中,需要用就通过get方法取出来。 ApplicationEvent是个抽象类,里面只有一个构造函数和一个长整型的timestamp。ApplicationListe...转载 2018-07-13 15:45:22 · 296 阅读 · 0 评论 -
Junit 测试之 Spring Test
在做spring相关测试时比较麻烦,如果只用JUnit测试,需要没测有初始化一下applicationContext,效率比较底下,而且也有不足之处。 导致多次Spring容器初始化问题 根据JUnit测试方法的调用流程,每执行一个测试方法都会创建一个测试用例的实例并调用setUp()方法。由于一般情况下,我们在setUp()方法 中初始化Spring容器,这意味着如果测试用例有多少个测试...转载 2019-08-05 00:00:42 · 239 阅读 · 0 评论