Spring
文章平均质量分 81
JIESA
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
spring启动component-scan类扫描加载过程
有朋友最近问到了 spring 加载类的过程,尤其是基于 annotation 注解的加载过程,有些时候如果由于某些系统部署的问题,加载不到,很是不解!就针对这个问题,我这篇博客说说spring启动过程,用源码来说明,这部分内容也会在书中出现,只是表达方式会稍微有些区别,我将使用spring 3.0的版本来说明(虽然版本有所区别,但是变化并不是特别大),另外,这里会从WEB中使用spring开始,转载 2017-03-08 14:23:13 · 3048 阅读 · 0 评论 -
s2sh框架 启动时错误<java.lang.VerifyError>
s2sh框架 启动时异常????? 最近项目转入maven管理,之前是直接把包放入项目中,而且又不是本人添加。现在需要一一从maven中央库对应下载所需的包,网络又不给力,那是相当的费劲。maven中央库又有着各种版本令人迷惑的各种版本的类似的包,一不小心就搞错了。另外,再加上项目中包的信息又不太全,有就只是一个简单的名字,又的有是从别的项目中copy过来的。种种原因导致在转入mave转载 2016-10-27 11:31:44 · 1439 阅读 · 0 评论 -
spring声明式事务 同一类内方法调用事务失效
一 宏观说明[问题] Spring的声明式事务,我想就不用多介绍了吧,一句话“自从用了Spring AOP啊,事务管理真轻松啊,真轻松;事务管理代码没有了,脑不酸了,手不痛了,一口气全配上了事务;轻量级,测试起来也简单,嘿!”。不管从哪个角度看,轻量级声明式事务都是一件解放生产力的大好事。所以,我们“一直用它”。 不过,最近的一个原创 2016-12-02 19:45:18 · 19735 阅读 · 6 评论 -
最新 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 · 839 阅读 · 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 · 352 阅读 · 0 评论 -
基于Spring + Spring MVC + Mybatis + Apache Shiro + MetroNic 高性能web构建
一直想写这篇文章,前段时间 痴迷于JavaScript、NodeJs、AngularJs,做了大量的研究,对前后端交互有了更深层次的认识。今天抽个时间写这篇文章,我有预感,这将是一篇很详细的文章,详细的配置,详细的注释,看起来应该很容易懂。用最合适的技术去实现,并不断追求最佳实践。这就是架构之道。希望这篇文章能给你们带来一些帮助,同时希望你们可以为这个项目贡献你的想法。转载 2017-01-10 15:32:05 · 2234 阅读 · 0 评论 -
详解SpringMVC请求的时候是如何找到正确的Controller
目录前言源码分析重要接口介绍SpringMVC初始化的时候做了什么HandlerExecutionChain的获取实例资源文件映射总结参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/sp原创 2017-02-06 19:04:13 · 9489 阅读 · 1 评论 -
spring学习之@ModelAttribute运用详解
@ModelAttribute使用详解1.@ModelAttribute注释方法 例子(1),(2),(3)类似,被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用。 (1)@ModelAttribute注释void返回值的方法转载 2017-02-07 14:19:34 · 434 阅读 · 0 评论 -
详解@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 · 632 阅读 · 0 评论 -
SpringMVC注解@initbinder解决类型转换问题
SpringMVC注解@initbinder解决类型转换问题在使用SpringMVC的时候,经常会遇到表单中的日期字符串和JavaBean的Date类型的转换,而SpringMVC默认不支持这个格式的转换,所以需要手动配置,自定义数据的绑定才能解决这个问题。在需要日期转换的Controller中使用SpringMVC的注解@initbinder和Spring自带的WebDateBi转载 2017-02-07 16:02:59 · 974 阅读 · 1 评论 -
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 · 1141 阅读 · 0 评论 -
Spring Mvc 3.1 之后如何配置messageConverters
是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须的。这句话我在很多帖子都看到过,我自己的项目本身使用的Spring MVC 3.2,实转载 2017-02-07 17:07:35 · 3569 阅读 · 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 · 1565 阅读 · 0 评论 -
spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
应用场景:很多时候我们想要在某个类加载完毕时干某件事情,但是使用了spring管理对象,我们这个类引用了其他类(可能是更复杂的关联),所以当我们去使用这个类做事情时发现包空指针错误,这是因为我们这个类有可能已经初始化完成,但是引用的其他类不一定初始化完成,所以发生了空指针错误,解决方案如下: 1、写一个类继承spring的ApplicationListener监听,并监控ContextRe转载 2017-02-20 17:44:27 · 597 阅读 · 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 · 342 阅读 · 0 评论 -
解决springMVC4下使用@ResponseBody的中文乱码问题
在springmvc配置文件中添加以下代码 注: writeAcceptCharset:控制响应头,设置为false,避免响应头过大。原创 2017-02-04 11:41:17 · 1674 阅读 · 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 · 3270 阅读 · 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 · 3926 阅读 · 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 · 2730 阅读 · 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 · 512 阅读 · 0 评论 -
Spring Retry实现原理
在前面这篇博客中介绍了Spring Retry的使用,本文通过一个简单的例子演示Spring Retry的实现原理,例子中定义的注解只包含重试次数属性,实际上Spring Retry中注解可设置属性要多的多,单纯为了讲解原理,所以弄简单点,关于Spring Retry可查阅相关文档、博客。注解定义package retry.annotation;import java.lang转载 2017-08-17 19:04:56 · 1064 阅读 · 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 · 24554 阅读 · 2 评论 -
spring注解注入:<context:component-scan>详解
spring从2.5版本开始支持注解注入,注解注入可以省去很多的xml配置工作。由于注解是写入java代码中的,所以注解注入会失去一定的灵活性,我们要根据需要来选择是否启用注解注入。我们首先看一个注解注入的实际例子,然后再详细介绍context:component-scan的使用。如果你已经在用spring mvc的注解配置,那么你一定已经在使用注解注入了,本文不会涉及转载 2017-09-26 14:19:42 · 522 阅读 · 0 评论 -
常规容器下SpringBootServletInitializer如何实现web.xml作用解析
在之前的《使用jsp作为视图模板&常规部署》章节有过一个实践,需要启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat下,其主要能够起到web.xml的作用。下面通过源码简单解析为何其能够替代web.xml。本章概要1、源码分析如何实现SpringBootServletInitializer整个加载过程;2、实现自定转载 2017-09-26 16:39:13 · 3014 阅读 · 0 评论 -
使用jsp作为视图模板&常规部署
springboot其实并不推荐使用jsp作为视图模板,其默认采用Thymeleaf作为模板,出于对其没有研究,故考虑目前阶段仍然使用jsp作为视图模板。下面就展开实践案例过程:1、首先创建一个jsp页面:Spring URL: ${springUrl} at ${time}转载 2017-09-26 16:43:27 · 680 阅读 · 0 评论 -
Spring Boot学习笔记03--深入了解SpringBoot的启动过程
摘要看完本文你将掌握如下知识点:SpringApplication的作用及运行过程SpringBootServletInitializer的作用及运行过程PS:本节内容略显枯燥,如果对SpringBoot的启动过程不感兴趣,可以略过。SpringBoot系列:Spring Boot学习笔记深入了解SpringApplication@SpringBootAppli转载 2017-09-26 17:36:09 · 1000 阅读 · 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 · 1354 阅读 · 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 · 1346 阅读 · 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 · 1647 阅读 · 0 评论 -
WebMvcConfigurerAdapter的用法
以前写Spring MVC的时候,要添加一个新页面访问总是要新增一个Controller或者在已有的一个Controller中新增一个方法,然后再跳转到设置的页面上去。考虑到大部分应用场景中View和后台都会有数据交互,这样的处理也无可厚非,不过我们肯定也有只是想通过一个URL Mapping然后不经过Controller处理直接跳转到页面上的需求!今天在做Spring Security相关配置的转载 2017-11-24 18:56:18 · 1535 阅读 · 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 · 939 阅读 · 0 评论 -
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 · 369 阅读 · 0 评论 -
org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has
ERROR: org.springframework.transaction.UnexpectedRollbackException: Transaction rolled back because it has been marked as rollback-only[java] view plaincopyprint?@T原创 2015-11-26 14:08:24 · 1061 阅读 · 0 评论 -
Spring中的@Transactional 放在 类级别 和 方法级别 上有什么不同?
Spring中的@Transactional 放在类级别 和 方法级别 上有什么不同?@Transactional放在类级别上是否等同于该类的每个方法都放上了@Transactional?是的一般类上这么写//默认将类中的所有函数纳入事务管理.@Transactional(readOnly=true) //配置事务 查询使用只读public Demo{转载 2015-11-05 11:51:59 · 6920 阅读 · 3 评论 -
web.xml 配置中classpath: 与classpath*:的区别
首先 classpath是指 WEB-INF文件夹下的classes目录 解释classes含义: 1.存放各种资源配置文件 eg.init.properties log4j.properties struts.xml 2.存放模板文件 eg.actionerror.ftl 3.存放class文件 对应的是项目开发时的src目录编译文件 总结:这是一个定位资源的入口转载 2015-09-17 16:50:45 · 615 阅读 · 0 评论 -
java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor
错误描述:使用Spring3集成hibernate3,在添加声明式事务管理后,测试,发现抛出java.lang.NoClassDefFoundError: org/aopalliance/intercept/MethodInterceptor异常错误原因:缺少aopalliance.jar包,从别的地方下载这个包大多都会产生另外一个异常,从springsource下载这个 co原创 2015-11-08 20:38:54 · 651 阅读 · 0 评论 -
Spring@Autowired注解与自动装配
1 配置文件的方法 我们编写spring 框架的代码时候。一直遵循是这样一个规则:所有在spring中注入的bean 都建议定义成私有的域变量。并且要配套写上 get 和 set方法。 Boss 拥有 Office 和 Car 类型的两个属性: 清单 3. Boss.java [java] vi转载 2015-09-14 10:41:22 · 647 阅读 · 0 评论 -
Spring官网下载dist.zip的几种方法
Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包,但是完全没想到中国的国情,在伟大的墙内,直接通过maven下载墙外的东西,要么龟速,要么直接被和谐。下面是从网上搜集的一些方法,可用于一次性下载Spring各项目的完整dist.zip第一种直接http://repo.s转载 2015-10-25 21:26:47 · 604 阅读 · 0 评论 -
Spring注解@Component、@Repository、@Service、@Controller区别
很长时间没做web项目都把以前学的那点框架知识忘光了,今天把以前做的一个项目翻出来看一下发现用·@Component标记一个组件,而网上有的用@Service标记组件,我晕就查了一下资料:Spring 2.5 中除了提供 @Component 注释外,还定义了几个拥有特殊语义的注释,它们分别是:@Repository、@Service 和 @Controller。在目前的 Spring转载 2015-09-14 18:13:47 · 454 阅读 · 0 评论 -
Spring 中的byName与 byType
在应用中,我们常常使用标签为JavaBean注入它依赖的对象。但是对于一个大型的系统,这个操作将会耗费我们大量的资源,我们不得不花费大量的时间和精力用于创建和维护系统中的标签。实际上,这种方式也会在另一种形式上增加了应用程序的复杂性,那么如何解决这个问题呢?Spring为我们提供了一个自动装配的机制,尽管这种机制不是很完善,但是在应用中结合标签还是可以大大的减少我们的劳动强度。前面提到过,在定义B转载 2015-09-22 08:29:20 · 6678 阅读 · 0 评论
分享