spring相关
文章平均质量分 69
竹下星空
这个作者很懒,什么都没留下…
展开
-
spring定时器的使用——schedule
applicationContext-schedule.xml配置:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/c...原创 2018-09-30 11:36:00 · 1332 阅读 · 0 评论 -
从RedisUtil redisUtil = (RedisUtil)app.getBean("redisUtil");说开来3
本文要分析的方法:12.getSingleton(String beanName, ObjectFactory<?> singletonFactory)创建bean实例,bean是单例时,创建单例bean13.是prototype时,重新创建一个实例14.其他scope时,使用相应的规则进行创建实例12.getSingleton(String beanName, ObjectF...原创 2019-02-26 18:01:18 · 421 阅读 · 0 评论 -
从ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContextxml");说开来3
解析的方法有:1.为beanFactory在上下文使用做准备,也就是扩展bean的功能2.允许子类进行功能扩展的方法3.在上下文中以bean的形式激活工厂处理器4.注册拦截bean创建的bean处理器5.初始化信息资源6.初始化事件广播7.初始化特殊上下文子类找那个其他特殊的bean,用以子类功能扩展8.检查bean监听器并注册9.初始化所有的剩下(非懒加载)的单例10.发布通...原创 2019-02-21 10:14:11 · 826 阅读 · 0 评论 -
从RedisUtil redisUtil = (RedisUtil)app.getBean("redisUtil");说开来2
本文要分析的方法:1.getSingleton(beanName)从单例缓存中取值2.getObjectForBeanInstance(sharedInstance, name, beanName, null)获取一个普通的bean或FactoryBean3.isPrototypeCurrentlyInCreation(beanName)判断是否正在创建beanName的实例,是则报错4....原创 2019-02-25 18:22:52 · 467 阅读 · 0 评论 -
从RedisUtil redisUtil = (RedisUtil)app.getBean("redisUtil");说开来1
从ClassPathXmlApplicationContext的继承关系可以看出,getBean()方法调用的是AbstractApplicationContext中的。public Object getBean(String name) throws BeansException { //确定bean容器是否active assertBeanFactoryActive(); //...原创 2019-02-25 14:57:36 · 640 阅读 · 0 评论 -
从ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContextxml");说开来2
1.为刷新做上下文的环境准备prepareRefresh()方法protected void prepareRefresh() { this.startupDate = System.currentTimeMillis(); //使spring容器关闭的标识置成false this.closed.set(false); //使spring容器成活的标识置成true this....原创 2019-02-19 18:16:32 · 3557 阅读 · 0 评论 -
从ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContextxml");说开来1
ApplicationContext bf = new ClassPathXmlApplicationContext(“applicationContext.xml”);1.首先调用构造器:public ClassPathXmlApplicationContext(String configLocation) throws BeansException { this(new String[...原创 2019-02-19 15:24:41 · 901 阅读 · 0 评论 -
从springAOP的调用过程解析aop源码之二——aop代理对象的生成
上篇我们已经分析过了aop标签的解析和aop解析器的生成,本篇继续来看aop解析器是如何创建代理对象的。通过上篇我们知道是获取bean实例时调用BeanPostProcessor执行的aop解析器。我们先回到BeanPostProcessor调用的方法:protected Object createBean(final String beanName, final RootBeanDefini...原创 2019-02-28 18:25:37 · 194 阅读 · 0 评论 -
从springAOP的调用过程解析aop源码之一——aop使用的疑惑
场景构建:使用springAOP实现调用所有方法前后打印日志的功能,比较spring容器中对象和自己创建的对象方法调用中的表现。applicationContext.xml配置:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;beans xmlns="http://www.springframework.org/原创 2019-02-27 18:17:09 · 198 阅读 · 0 评论 -
spring session + redis实现分布式session共享
tomcat + redis 的方式好用,但是会严重依赖于web容器,不好将代码移植到其他 web 容器上去,尤其是你要是换了技术栈咋整?比如换成了 spring cloud 或者是 spring boot 之类的呢?spring session + redis实现分布式session共享:pom.xml配置:&lt;dependency&gt; &lt;groupId&gt;org....原创 2019-02-12 11:24:07 · 1213 阅读 · 1 评论 -
从ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContextxml");说开来4
本文分析的方法:6.registerBeanPostProcessors(beanFactory);注册BeanPostProcessors7.initMessageSource();初始化信息资源,支持国际化8.initApplicationEventMulticaster();初始化事件广播9.onRefresh();初始化特殊上下文子类找那个其他特殊的bean,用以子类功能扩展10...原创 2019-02-21 18:27:08 · 666 阅读 · 0 评论 -
封装http请求
在开发当中调其他系统请求或模拟前端调请求有时会使用到http请求,但java原生类还是比较难用的,一般会自己封装一下,本文展示http请求的一般封装,可以直接拷贝使用。package com.zqsign.app.privatearbitrate.util;import org.apache.http.Header;import org.apache.http.NameValuePair;...原创 2018-12-18 13:44:42 · 2578 阅读 · 0 评论 -
如何用BeanUtils把一个对象中的属性值复制到另一个对象中和BeanUtils中的方法
场景:当其他系统调用我们的一个接口进行一些业务数据的修改,通过接口传过来一个user对象,但不含有user的uuid,这样就不能直接保存达到修改的目的,一般情况下我们先通过tradeCode交易编号找到之前的user,然后通过set方法把新user中的值放入之前的user中然后保存达到修改目的,或者把之前的user删除再保存新的user达到修改的目的。感觉都不是很好,在BeanUtils中提供了c...原创 2018-11-14 15:11:05 · 5708 阅读 · 0 评论 -
spring AOP简单运用:打印日志
场景说明:在开发调试时,总是需要打断点来看哪个方法错误了,哪些参数传错了,在很多情况下如果直接能从日志中拿到是执行了哪个类的哪个方法,并且知道方法参数情况,可能会大大减少调试时间,一种做法是在相应的方法上加上日志,这样会非常的烦人,重复工作很多,而且为了完全,可能在上线的时候还要去除,在这种场景下使用AOP是非常合适的,AOP可以达到一次配置,到处使用的效果。1.xml配置方式:applica...原创 2018-11-01 17:36:34 · 342 阅读 · 0 评论 -
springMVC打印请求信息日志,如请求头,请求体,请求路径等
处理类LoggingFilter :package com.zqsign.app.privatearbitrate.interceptor;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.StringReader;import java...原创 2018-09-30 14:55:41 · 10207 阅读 · 2 评论 -
ResponseBodyAdvice的理解与应用
ResponseBodyAdvice接口类:/* * Copyright 2002-2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance...原创 2018-09-30 14:44:53 · 25293 阅读 · 0 评论 -
springmvc中HandlerInterceptorAdapter拦截器的使用
在preHandle中,可以进行编码、安全控制等处理;在postHandle中,有机会修改ModelAndView;在afterCompletion中,可以根据ex是否为null判断是否发生了异常,进行日志记录。在LocalAuthRequestInterceptor中:package com.zqsign.app.privatearbitrate.interceptor;import...原创 2018-09-30 11:50:49 · 1856 阅读 · 0 评论 -
记录一次使用@Async的经历
@Async是spring提供给用户起异步线程的注解,可以使使用该注解的方法变成一个异步方法,从而提高代码进行速度。1.@Async使用需要的配置:package com.zqsign.wesign.config;import java.util.concurrent.Executor;import org.springframework.context.annotation.Bean...原创 2019-06-19 15:58:16 · 1047 阅读 · 0 评论