Spring
spring使用中的点滴记录。
谦奕爸爸
路漫漫其修远兮,吾将上下而求索
展开
-
SpringSecurity系列之-JWT
FindBugs是基于Bug Patterns概念,查找javabytecode(.class文件)中的潜在bug,主要检查bytecode中的bug patterns,如NullPoint空指针检查、没有合理关闭资源、字符串相同判断错(==,而不是equals)等一、Security 关于代码安全性防护1.Dm: Hardcoded constant database password ...原创 2018-11-23 14:49:21 · 371 阅读 · 0 评论 -
SpringSecurity系列之-认证过程解析
大型项目中,分开发环境、测试环境、生产环境等;不同环境,配置不同,或数据源,或服务器,或数据库等;问题来了,如何使用Maven针对不同的环境来打包呢?Maven提供了Profile的概念,用来解决此类问题,其原理很简单,就是使用变量替换;举个例子来说明,测试项目目录结构如下图所示:比如开发环境和生产环境的数据库不同,db.properties配置文件内容如下原创 2017-05-24 10:01:25 · 571 阅读 · 0 评论 -
SpringSecurity系列之-SpringSecurity架构
CentOS 6.5 MySQL主从同步,MySQL版本5.6.25主服务器:centos6.5 IP:192.168.1.101从服务器:centos6.5 IP:192.168.1.102一、主服务器相关配置 1、创建同步账户并指定服务器地址[root@localhost ~]mysql -uroot -pmysql>use mysqlmysql>grant replicatio...原创 2018-04-18 10:51:21 · 270 阅读 · 0 评论 -
spring系列之-注解介绍@ConfigurationProperties
@ConfigurationPropertiesspring-boot 提供该注解将配置文件的值映射到类上使用。例子:1,这是我们在application.yml配置的druid连接池学习2.通过@ConfigurationProperties注解则会将值映射到该类中3.通过@Autowired标签即可访问到该对象,不过在使用之前必须在使用类上面增加注解@EnableConfig...原创 2018-11-21 10:16:08 · 3345 阅读 · 0 评论 -
spring系列之-使用@Autowired注解,出现提示信息Field injection is not recommended
一、出现提示信息“不推荐使用变量注入方式”如下图。spring团队建议:始终在bean中使用基于构造函数的依赖注入。始终对强制性依赖使用断言。思考:为什么不推荐使用,这种方式是不是有更好的替代方案。于是自己查了一下网上的资料做个总结。二、依赖注入有三种方式:变量(filed)注入 构造器注入 set方法注入变量注入这种方式是我们用的比较多的,下面我们来对比一下这几...原创 2019-12-04 15:11:12 · 1002 阅读 · 7 评论 -
spring系列之-个人常用配置文件解析
1、configuration.xml文件常用代码<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD SQL MAP Config 3.1//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"&g...原创 2016-04-26 19:19:11 · 5488 阅读 · 0 评论 -
springmvc框架系列之-整合文件配置详解
web.xml的配置web.xml应该是整个项目最重要的配置文件了,不过servlet3.0中已经支持注解配置方式了。在servlet3.0以前每个servlet必须要在web.xml中配置servlet及其映射关系。但是在spring框架中就不用了,因为Spring中是依赖注入(Dependency Injection)的也叫控制反转(Inversion of Control)。但是也要配...原创 2016-03-10 17:22:37 · 530 阅读 · 0 评论 -
http系列之-核心内容
一、HTTP Request Method二、HTPP请求结构原创 2018-04-10 09:21:43 · 3872 阅读 · 0 评论 -
spring系列之-当spring 容器初始化完成后执行某个方法 防止onApplicationEvent方法被执行两次
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查。 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出哪个文件的xml文件使用了这个函数。而在Spring的web项目中,我们可以介入Spring的启动过程。我们希望在Spring容器将所有的Bean都初始化完成之后,做一些操作,这个时候我们就可以实现...原创 2018-03-05 09:18:52 · 1509 阅读 · 0 评论 -
spring系列之-异常统一处理(1)
上一篇介绍了分库分表插件,但是多库操作涉及到分布式事务问题,大家都知道分布式事务需要涉及到数据库XA驱动,oracle原本就支持,mysql在5.6版本支持了该属性,atomikos插件封装了该特性的一个中间件。现在来介绍一个atomikos的使用。 首先是jar包依赖,maven配置如下:Xml代码 <dependency><groupId>...原创 2018-03-08 10:17:26 · 9543 阅读 · 2 评论 -
基于Spring task注解方式配置任务
此文标题有错,感谢各位网友指出 林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 新建一个Java工程,导入要用到的包,Spring3.2、Quartz2.2.1、aopalliance-1.0.jar、commons-logging-1.2.jar。整个工程目录如下:本文工程免费下载1转载 2017-12-14 10:38:56 · 5286 阅读 · 0 评论 -
Spring注解配置定时任务<task:annotation-driven/>
首先在配置文件头部的必须要有:xmlns:task="http://www.springframework.org/schema/task"其次xsi:schemaLocation必须为其添加:http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-tas转载 2017-12-14 10:34:18 · 944 阅读 · 0 评论 -
spring 中常用的两种事务配置方式以及事务的传播性、隔离级别
在前面的文章中总结了spring事务的5中配置方式,但是很多方式都不用而且当时的配置使用的所有参数都是默认的参数,这篇文章就看常用的两种事务配置方式并信息配置事务的传播性、隔离级别、以及超时等问题,废话不说下面就来看看!一、注解式事务1、注解式事务在平时的开发中使用的挺多,工作的两个公司中看到很多项目使用了这种方式,下面看看具体的配置demo。2、事务配置实例(1)、spring+转载 2017-11-24 15:08:17 · 624 阅读 · 0 评论 -
Motan 调用执行流程
大概的示意图:转载 2017-11-20 16:04:41 · 1761 阅读 · 0 评论 -
Spring.profile实现开发、测试和生产环境的配置和切换
软件开发过程一般涉及“开发 -> 测试 -> 部署上线”多个阶段,每个阶段的环境的配置参数会有不同,如数据源,文件路径等。为避免每次切换环境时都要进行参数配置等繁琐的操作,可以通过spring的profile功能来进行配置参数的切换。以我用到的项目的实际情况为例,首先可以在resources文件夹下分别为每个环境建立单独的文件夹(也可以额外建立一个common文件夹,用于存放公共的...转载 2018-08-14 15:32:16 · 389 阅读 · 0 评论 -
spring系列之-事务注解@Transactional注意事项
生产系统核心部分特别是涉及到账户的批量处理,放在凌晨定时运行,结果出问题了,现象很诡异:1)问题偶发,但没有规律2)程序没有按照预定步骤处理数据库相关数据3)发生后也没有发现有死锁,但出现异常的锁前后折腾了三次,但一直没有找到根源。后来另外一个问题发生时,分析发现数据库事务处理形同虚设,用Spring @Transactional注解的数据库事务完全没有生效,让人费解,甚至怀...原创 2019-02-15 16:55:26 · 781 阅读 · 0 评论 -
spring系列之-@validated 验证 List 参数
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010588262/article/details/82776088写了个接口:@GetMapping("/do")public int doSth(@RequestBody @Validated(MyGroup.class) List<Bean> myBean)发现@val...原创 2018-12-19 10:40:57 · 5342 阅读 · 0 评论 -
java系列之-自定义valid校验器
一、依赖包<!-- https://mvnrepository.com/artifact/javax.validation/validation-api --><dependency> <groupId>javax.validation</groupId> <artifactId>validation-api<...原创 2018-12-27 11:45:36 · 2570 阅读 · 1 评论 -
java系列之-自定义注解进行数据验证
API开发中经常会遇到一些对请求数据进行验证的情况,这时候如果使用注解就有两个好处,一是验证逻辑和业务逻辑分离,代码清晰,二是验证逻辑可以轻松复用,只需要在要验证的地方加上注解就可以。Java提供了一些基本的验证注解,比如@NotNull、@Size,但是更多情况下需要自定义验证逻辑,这时候就可以自己实现一个验证注解,方法很简单,仅需要两个东西:一个自定义的注解,并且指定验证器 一个验证...原创 2018-12-19 20:57:54 · 845 阅读 · 0 评论 -
spring系列之-切点、切面
最近写的项目里面都用到了很多切面,切点的知识,写完以后,来自我总结一下:举个例子:一个类(Show)里面有一个表演(display)的方法,在表演之前,应该有致辞(say)的方法,在表演之后,应该有鼓掌(hand)的方法。为了高内聚低耦合,表演的方法应该单独封装在一个类里面,致辞和鼓掌的方法应该另外封装,但在调用时必须按照顺序来调用执行。这时候就需要设置切面和切点了!切面应该设置在致辞...原创 2018-11-22 15:58:21 · 1372 阅读 · 0 评论 -
RequestMapping获取class路径以及方法method路径
得到处理类HandlerMethod headMethod = (HandlerMethod) handler;得到类路径RequestMapping mapping = headMethod.getMethod().getDeclaringClass().getAnnotation(RequestMapping.class);String[] classUrl = nu原创 2017-11-13 09:14:33 · 3329 阅读 · 0 评论 -
maven与springMVC之HttpMessageConverter解析json
首先来看一下下面的配置代码:[html] view plain copy bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> property name="messageConverters"> l转载 2017-10-11 15:23:00 · 930 阅读 · 0 评论 -
【spring配置】——spring整合Quartz定时器
第一种:为普通java类中的某个方法配置跑批任务[java] view plain copy MethodInvokingJobDetailFactoryBean CronTriggerBean SchedulerFactoryBean 1.定义要跑批的类和方法:[java] view plain copy packag转载 2017-05-31 18:17:05 · 514 阅读 · 0 评论 -
Java过滤器与SpringMVC拦截器之间的关系与区别
今天学习和认识了一下,过滤器和SpringMVC的拦截器的区别,学到了不少的东西,以前一直以为拦截器就是过滤器实现的,现在想想还真是一种错误啊,而且看的比较粗浅,没有一个全局而又细致的认识,由于已至深夜,时间原因,我就把一些网友的观点重点摘录下来,大家仔细看后也一定会有一个比较新的认识(在此非常感谢那些大牛们的无私奉献,分享他们的经验与心得,才能让像我这样的小白有机会站一下你们这些巨人的肩膀,才能转载 2017-07-05 09:52:12 · 258 阅读 · 0 评论 -
【Spring MVC】教程——使用拦截器实现权限控制
之前一直都在用mvc的拦截器权限控制,后来上网也研究了一些这方面的知识,下面就直接分享下我对mvc的拦截器的理解,通过项目来分析吧。。。1、首先准备对应的架包2、看看项目的架构3、基本的web.xml文件?1234567891011121314151617181920转载 2017-07-05 09:30:42 · 2683 阅读 · 0 评论 -
LOG4J配置详解及样例一个
网站要发布了,为了跟踪一些日志,需要用到log4j,于是就研究了一下log4j的配置先贴自己用的一个配置源文件 log4j.properties[html] view plain copy log4j.rootLogger=DEBUG, CONSOLE, FILE ## for console log4j.appender.CONSOLE=org.apach转载 2017-06-12 21:58:58 · 325 阅读 · 0 评论 -
09 转 备忘-按日期、时间或大小生成log文件的log4j配置方案
from:http://blog.sina.com.cn/s/blog_543e73a80100o757.html我们开发的B/S结构系统,在服务端一般要有日常运行的日志记录。保存成日志文件形式的时候,大家经常会遇到一个问题:日志文件过大。上百兆的日志文件对 查阅日志信息来说也是一个问题。所以我希望能够每天或每个月产生一个日志文件,这样文件不至于过大。 或者根据日志文件大小来判断,超过规定大小转载 2017-06-12 13:23:35 · 644 阅读 · 0 评论 -
spring(基础10) 注解@Value详解
一 配置方式@value需要参数,这里参数可以是两种形式:[html] view plain copy @Value("#{configProperties['t1.msgname']}")或者@Value("${t1.msgname}"); 这两形式,在配置上有什么区别:1、@Value("#{configProperties['t1.msg转载 2017-06-09 15:26:54 · 2048 阅读 · 1 评论 -
java系列之-ClassPathXmlApplicationContext加载多个XML文件
用如下数组的形式就可以了。public static void main(String[] args) throws IOException { ApplicationContext ctx = new ClassPathXmlApplicationContext( new String[]{"MultithreadTaskBeans.xml", "comm...原创 2017-06-02 11:41:30 · 4125 阅读 · 0 评论 -
spring系列之-DailyRollingFileAppender的使用
DailyRollingFileAppender是日志记录软件包Log4J中的一个Appender,它能够按一定的频度滚动日志记录文件。如果您不熟悉Log4J,建议阅读一下 使用Log4j进行日志记录。我们可以按下面的方式配置DailyRollingFileAppender:log4j.rootCategory=INFO,filelog4j.appender.file=org.a...原创 2017-06-16 09:10:15 · 1602 阅读 · 0 评论 -
SpringMVC 支持Hibernate Validator
摘要 :这段时间看公司的代码都是代码中对数据进行显性的验证,在业务逻辑中混杂了太多的数据校验的代码,感觉各种不舒服,正好趁今天有些空闲,就将SpringMVC整合了下Hibernate Validator。现在记录下整合过程,过程以便以后参考!一、基础框架 SpringMVC-4.0.3.RELEASE,使用的maven来管理jar依赖二、依赖的jar, org.hi转载 2016-03-12 10:04:50 · 1794 阅读 · 0 评论 -
springmvc+datatables+mybatis分页
1.分页封装类import java.util.HashMap;import java.util.List;import java.util.Map;import net.sf.json.JSONArray;import net.sf.json.JSONObject;import org.apache.commons.lang.StringUtils;import or...原创 2015-11-07 16:43:07 · 4476 阅读 · 11 评论 -
spring的quartz学习总结:cluster配置
简介 在前面一篇文章里我们讨论了quartz和spring quartz的基本流程以及配置,这里针对一些quartz应用的场景和配置重点解读一下quartz的cluster配置和应用。 cluster配置 在前面的执行quartz任务的环境里,我们都是在单独的一台机器上执行任务。这种单点执行的方式存在着一些问题。比如说,如果需要执行的任务量比较大,单台机器处理不过来。另转载 2017-05-30 10:43:20 · 1740 阅读 · 0 评论 -
Spring中Quartz的配置
Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在Spring中怎样配置Quartz:首先我们来写一个被调度的类:package com.kay.quartz;public class QuartzJob{ public void work() { System.out.println("Quartz的任务调度!转载 2017-05-25 23:11:18 · 291 阅读 · 0 评论 -
spring系列之-SpringMVC工作原理
SpringMVC框架介绍 1) spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Sp原创 2017-07-05 10:19:17 · 261 阅读 · 0 评论 -
springmvc配置MappingJackson2HttpMessageConverter实现属性驼峰和下划线的转换
v需求 php调用java接口时,因为php那边的属性都是下划线风格,java这边的属性都是驼峰的风格。配置springmvc的json转换,在requestBody的时候(调用对象的set 方法)将java属性name映射成下划线形式 和 请求的参数匹配;在responseBody的时候(调用对象的get方法)将java的属性name也映射成下划线形式。vMappingJackson2转载 2017-10-11 15:15:04 · 6188 阅读 · 1 评论 -
SpringMVC关于json、xml自动转换的原理研究[附带源码分析]
目录前言现象源码分析实例讲解关于配置总结参考资料前言SpringMVC是目前主流的Web MVC框架之一。 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html现象本文使用的demo基于maven,是根据入门blog的例子继续写下去的。我们转载 2017-10-11 15:07:46 · 355 阅读 · 0 评论 -
Springmvc前端JSON转换器MappingJackson2HttpMessageConverter设置对值为null的处理
我们在使用springmvc中的 @ResponseBody 注解返回JSON时可以配置Json转换器如下:[java] view plain copy "mappingJacksonHttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson转载 2017-10-10 17:01:39 · 2126 阅读 · 0 评论 -
Springmvc异常之--通配符的匹配很全面, 但无法找到元素 'mvc:resources' 的声明
aused by: org.xml.sax.SAXParseException; lineNumber: 24; columnNumber: 60; cvc-complex-type.2.4.c: 通配符的匹配很全面, 但无法找到元素 'mvc:resources' 的声明。at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrappe转载 2017-10-10 14:59:51 · 3870 阅读 · 0 评论 -
SpringMVC 拦截器不拦截静态资源的三种处理方式
SpringMVC提供来设置静态资源,但是增加该设置如果采用通配符的方式增加拦截器的话仍然会被拦截器拦截,可采用如下方案进行解决:方案一、拦截器中增加针对静态资源不进行过滤(涉及spring-mvc.xml)转载 2017-09-01 10:07:17 · 940 阅读 · 0 评论