
Spring
文章平均质量分 81
JIESA
这个作者很懒,什么都没留下…
展开
-
Spring源码分析2 — 容器启动流程
Spring源码分析2 — 容器启动流程版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/u013510838/article/details/750668841 主要类部署web应用时,web容器(比如Tomcat)会读取配置在web.xml中的监听器,从而启动spring容器。有了spring容器之后,我们才能使用spring的IOC AOP等特...转载 2018-05-31 20:57:06 · 312 阅读 · 0 评论 -
Spring MVC入门
2.1、Spring Web MVC是什么Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的W转载 2017-02-04 11:33:31 · 283 阅读 · 0 评论 -
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1、写一个类继承spring的ApplicationListener监听,并监控ContextRe转载 2017-02-20 17:44:27 · 550 阅读 · 0 评论 -
springmvc--ResponseStatus注解处理异常
ResponseStatusResponseStatus注解的使用非常简单,我们创建一个异常类,加上注解package com.zj.exception;import org.springframework.http.HttpStatus;import org.springframework.web.bind.annotation.ResponseStatus;@Respon转载 2017-02-07 17:28:25 · 1502 阅读 · 0 评论 -
Spring Mvc 3.1 之后如何配置messageConverters
是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。这句话我在很多帖子都看到过,我自己的项目本身使用的Spring MVC 3.2,实转载 2017-02-07 17:07:35 · 3484 阅读 · 0 评论 -
Spring MVC @CookieValue注解
@CookieValue的作用 用来获取Cookie中的值@CookieValue参数 1、value:参数名称 2、required:是否必须 3、defaultValue:默认值 @CookieValue使用案例1、我们在index.jsp页面中创建cookie值 1 @ page language="ja转载 2017-02-07 16:39:25 · 1085 阅读 · 0 评论 -
SpringMVC注解@initbinder解决类型转换问题
SpringMVC注解@initbinder解决类型转换问题在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换,而SpringMVC默认不支持这个格式的转换,所以需要手动配置,自定义数据的绑定才能解决这个问题。在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBi转载 2017-02-07 16:02:59 · 921 阅读 · 1 评论 -
详解@SessionAttributes
A、@SessionAttributesorg.springframework.web.bind.annotation.SessionAttributespublic @interface SessionAttributesAnnotation that indicates the session attributes that a specific handler use转载 2017-02-07 15:03:48 · 570 阅读 · 0 评论 -
spring学习之@ModelAttribute运用详解
@ModelAttribute使用详解1.@ModelAttribute注释方法 例子(1),(2),(3)类似,被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用。 (1)@ModelAttribute注释void返回值的方法转载 2017-02-07 14:19:34 · 392 阅读 · 0 评论 -
详解SpringMVC请求的时候是如何找到正确的Controller
目录前言源码分析重要接口介绍SpringMVC初始化的时候做了什么HandlerExecutionChain的获取实例资源文件映射总结参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/sp原创 2017-02-06 19:04:13 · 9327 阅读 · 1 评论 -
基于Spring + Spring MVC + Mybatis + Apache Shiro + MetroNic 高性能web构建
一直想写这篇文章,前段时间 痴迷于JavaScript、NodeJs、AngularJs,做了大量的研究,对前后端交互有了更深层次的认识。今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详细的配置,详细的注释,看起来应该很容易懂。用最合适的技术去实现,并不断追求最佳实践。这就是架构之道。希望这篇文章能给你们带来一些帮助,同时希望你们可以为这个项目贡献你的想法。转载 2017-01-10 15:32:05 · 2168 阅读 · 0 评论 -
Spring MVC 教程,快速入门,深入分析
目录 一、前言二、spring mvc 核心类与接口三、spring mvc 核心流程图四、spring mvc DispatcherServlet说明五、spring mvc 父子上下文的说明六、springMVC-mvc.xml 配置文件片段讲解 七、spring mvc 如何访问到静态的文件,如jpg,js,css八、spring mvc转载 2017-02-04 17:25:48 · 276 阅读 · 0 评论 -
最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
本文将演示如何通过 Spring 使用 Quartz Scheduler 进行任务调度。Spring 为简化 Quartz 的操作提供了相关支持类。本文示例使用的相关工具如下:Spring 4.2.2 (发布于 2015 年 10 月)Quartz Scheduler 2.2.2 (发布于 2015 年 10 月)Maven 3JDK 1.7Eclipse Luna Service R转载 2017-01-09 18:52:07 · 752 阅读 · 0 评论 -
spring声明式事务 同一类内方法调用事务失效
一 宏观说明[问题] Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生产力的大好事。所以,我们“一直用它”。 不过,最近的一个原创 2016-12-02 19:45:18 · 19382 阅读 · 6 评论 -
s2sh框架 启动时错误<java.lang.VerifyError>
s2sh框架 启动时异常????? 最近项目转入maven管理,之前是直接把包放入项目中,而且又不是本人添加。现在需要一一从maven中央库对应下载所需的包,网络又不给力,那是相当的费劲。maven中央库又有着各种版本令人迷惑的各种版本的类似的包,一不小心就搞错了。另外,再加上项目中包的信息又不太全,有就只是一个简单的名字,又的有是从别的项目中copy过来的。种种原因导致在转入mave转载 2016-10-27 11:31:44 · 1300 阅读 · 0 评论 -
解决springMVC4下使用@ResponseBody的中文乱码问题
在springmvc配置文件中添加以下代码 注: writeAcceptCharset:控制响应头,设置为false,避免响应头过大。原创 2017-02-04 11:41:17 · 1620 阅读 · 0 评论 -
spring启动component-scan类扫描加载过程
有朋友最近问到了 spring 加载类的过程,尤其是基于 annotation 注解的加载过程,有些时候如果由于某些系统部署的问题,加载不到,很是不解!就针对这个问题,我这篇博客说说spring启动过程,用源码来说明,这部分内容也会在书中出现,只是表达方式会稍微有些区别,我将使用spring 3.0的版本来说明(虽然版本有所区别,但是变化并不是特别大),另外,这里会从WEB中使用spring开始,转载 2017-03-08 14:23:13 · 2991 阅读 · 0 评论 -
@Import注解——导入资源
在应用中,有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean,此时就需要用到@Import注解。示例如下: 先创建两个类,不用注解注入到IOC容器中,在应用的时候在导入到当前容器中。 1、创建Dog和Cat类 Dog类:package com.example.demo;public class Dog {}12345Cat类:package com.example...转载 2018-06-05 16:31:44 · 893 阅读 · 0 评论 -
WebMvcConfigurerAdapter的用法
以前写Spring MVC的时候,要添加一个新页面访问总是要新增一个Controller或者在已有的一个Controller中新增一个方法,然后再跳转到设置的页面上去。考虑到大部分应用场景中View和后台都会有数据交互,这样的处理也无可厚非,不过我们肯定也有只是想通过一个URL Mapping然后不经过Controller处理直接跳转到页面上的需求!今天在做Spring Security相关配置的转载 2017-11-24 18:56:18 · 1486 阅读 · 0 评论 -
SpringBoot通过代码注册Servlet、Fillter、Listener
Spring Boot提供了 ServletRegistrationBean,FilterRegistrationBean,ServletListenerRegistrationBean这3个东西来进行配置Servlet、Filter、Listener。通过自定义配置文件WebConfig.java注册Servlet、Filter、Listener。[j转载 2017-11-24 18:42:22 · 1587 阅读 · 0 评论 -
Spring boot 打成jar包问题总结
1、Unable to find a single main class from the following candidates1.1、问题描述maven build时出现以下错误提示日志:[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.3.5.RELE原创 2017-10-09 18:11:06 · 1256 阅读 · 0 评论 -
【spring bean】spring中bean的懒加载和depends-on属性设置
项目结构如下: ResourceBean.java代码: 1 package com.it.res; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.FileOutputStream; 6 import java.io.IOEx转载 2017-09-12 17:19:17 · 1290 阅读 · 0 评论 -
Spring Boot学习笔记03--深入了解SpringBoot的启动过程
摘要看完本文你将掌握如下知识点:SpringApplication的作用及运行过程SpringBootServletInitializer的作用及运行过程PS:本节内容略显枯燥,如果对SpringBoot的启动过程不感兴趣,可以略过。SpringBoot系列:Spring Boot学习笔记深入了解SpringApplication@SpringBootAppli转载 2017-09-26 17:36:09 · 907 阅读 · 0 评论 -
使用jsp作为视图模板&常规部署
springboot其实并不推荐使用jsp作为视图模板,其默认采用Thymeleaf作为模板,出于对其没有研究,故考虑目前阶段仍然使用jsp作为视图模板。下面就展开实践案例过程:1、首先创建一个jsp页面:Spring URL: ${springUrl} at ${time}转载 2017-09-26 16:43:27 · 589 阅读 · 0 评论 -
常规容器下SpringBootServletInitializer如何实现web.xml作用解析
在之前的《使用jsp作为视图模板&常规部署》章节有过一个实践,需要启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat下,其主要能够起到web.xml的作用。下面通过源码简单解析为何其能够替代web.xml。本章概要1、源码分析如何实现SpringBootServletInitializer整个加载过程;2、实现自定转载 2017-09-26 16:39:13 · 2925 阅读 · 0 评论 -
spring注解注入:<context:component-scan>详解
spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作。由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入。我们首先看一个注解注入的实际例子,然后再详细介绍context:component-scan的使用。如果你已经在用spring mvc的注解配置,那么你一定已经在使用注解注入了,本文不会涉及转载 2017-09-26 14:19:42 · 445 阅读 · 0 评论 -
springboot @ComponentScan 注解不支持扫描jar包中组件解决办法
最近在研发一个监控平台系统,使用了springboot、maven等开源框架。项目结构为一个parent和两个model。 modelA的java包结构是:com.yd.pmp.aaa.xxx.xx modelB的java包结构是:com.yd.pmp.bbb.xxx.xx modelB将来要发布成一个jar包,modelA中会依赖modelB的jar包。在测试的时候发现,在model转载 2017-09-26 14:15:05 · 24318 阅读 · 2 评论 -
Spring Retry实现原理
在前面这篇博客中介绍了Spring Retry的使用,本文通过一个简单的例子演示Spring Retry的实现原理,例子中定义的注解只包含重试次数属性,实际上Spring Retry中注解可设置属性要多的多,单纯为了讲解原理,所以弄简单点,关于Spring Retry可查阅相关文档、博客。注解定义package retry.annotation;import java.lang转载 2017-08-17 19:04:56 · 994 阅读 · 0 评论 -
spring-retry
当由于网络波动或者资源被锁等情况需要再次尝试的时候,可以使用spring-retry项目来实现,该项目已经应用到 Spring Batch, Spring Integration等项目。spring-boot项目使用spring-retry非常简单,在配置类加上@EnableRetry注解启用spring-retry,然后在需要失败重试的方法加@Retryable注解即可,spring-ret转载 2017-08-17 18:56:59 · 440 阅读 · 0 评论 -
Spring重试支持Spring Retry
第一步、引入maven依赖parent> groupId>org.springframework.bootgroupId> artifactId>spring-boot-starter-parentartifactId> version>1.5.3.RELEASEversion>parent>dependency> groupId>org.springfra转载 2017-08-01 18:13:35 · 2594 阅读 · 0 评论 -
非WEB工程怎么在main方法中加载spring容器
很多非WEB工程想引入spring的支持,就需要通过一个main方法启动加载spring容器1.配置文件形式//加载spring容器,并得到类的实例,下面配置文件是放在src/spring下面public static void main(String[] args) {//所有配置文件args = new String[] {"classpath:spring/sprin原创 2017-06-05 17:41:10 · 3828 阅读 · 0 评论 -
hibernate4整合spring3出现java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;
1.错误日志:nested exception is java.lang.NoClassDefFoundError: [Lorg/hibernate/engine/FilterDefinition;:java.lang.ClassNotFoundException: org.hibernate.engine.FilterDefinitionat java.net.URLClassLoa原创 2016-10-25 22:09:12 · 3187 阅读 · 0 评论 -
一段Spring代码引起的调用绑定总结
代码Java代码 @Component public class B { void test() { System.out.println("hello"); } } Java代码 @Component public class A { @Autowi转载 2016-10-11 21:33:13 · 384 阅读 · 0 评论 -
Spring: @Transactional中的propagation属性
在Spring的事务管理中,我们可以使用@Transactional这一annotation来对事务进行声明式的设定。具体而言,就是在类或者方法前添加@Transactional并传入属性参数以获取所需要的Transaction特性。Spring中的@Transactional有5个属性:Propagation、Isolation、Rollback Rules、Timeout和Read-Only,转载 2015-11-02 17:20:03 · 29403 阅读 · 3 评论 -
Spring组件扫描<context:component-scan/>使用详解
1.如果不想在xml文件中配置bean,我们可以给我们的类加上spring组件注解,只需再配置下spring的扫描器就可以实现bean的自动载入。2.下面是引用spring framework开发手册中的一段话“Spring 2.5引入了更多典型化注解(stereotype annotations): @Component、@Service和 @Contro转载 2015-09-17 14:52:47 · 866 阅读 · 0 评论 -
在web.xml中注册IntrospectorCleanupListener监听器以解决struts等框架可能产生的内存泄露问题
增加方式如下:[html] view plaincopy listener> listener-class> org.springframework.web.util.IntrospectorCleanupListener listener-class>转载 2015-09-22 20:44:27 · 607 阅读 · 0 评论 -
web.xml中的contextConfigLocation在spring中的作用
在web.xml中通过contextConfigLocation配置spring,contextConfigLocation参数定义了要装入的 Spring 配置文件。如果想装入多个配置文件,可以在 标记中用逗号作分隔符。在web.xml里配置Listenerxml 代码如下: org.springframework.web.cont转载 2015-09-22 20:34:00 · 723 阅读 · 0 评论 -
Spring事务配置的五种方式
前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识。通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的。 总结如下: Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource、TransactionManager和代理机制这三部分,无论哪种配置方式,一转载 2015-11-11 16:29:09 · 454 阅读 · 0 评论 -
spring的annotation-driven配置事务管理器详解
本文仅基于3.0+版本作为测试)假定spring 容器中定义了两个事务管理器:transactionManagerX,transactionManagerY,分管两个数据源datasourceX和datasourceY.transaction-manager="transactionManagerX" />transaction-manager="transactionManage转载 2015-11-11 16:19:30 · 2623 阅读 · 0 评论 -
Spring 注解 @Resource和@Autowired
@Resource和@Autowired两者都是做bean的注入使用。其实@Resource并不是Spring的注解,他的包是javax.annotation.Resource 需要导入。但是Spring支持该注解的注入。共同点:两者都可以写在字段和setter方法上。两者如果都写在字段上,就不需要写写setter方法。不同点如下:先来说一说@Autowired转载 2015-09-22 08:27:14 · 645 阅读 · 0 评论