Spring
文章平均质量分 78
sutonline
这个作者很懒,什么都没留下…
展开
-
Spring JDBCTemplate事务探索
Spring JDBCTemplate事务探索背景我们应用里有一个获取序列的服务,主要的流程是每次去数据库取号段,然后存储到本地。在数据库取号段的时候使用乐观锁来保证号段的唯一性,如果失败会有重试。交代完服务流程,下面来说一下出现的问题,偶尔会出现重试20次获取的值都一样的问题。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkVRzpFu-1621487081077)(https://raw.githubusercontent.com/Sutonline/md-i原创 2021-05-20 13:05:46 · 203 阅读 · 1 评论 -
Spring Boot 2.x自定义注入器`java.lang.Object`启动失败排查记录
Spring Boot 2.x自定义注入器java.lang.Object启动失败排查记录背景在最近的一个项目中,同事为了使用@EnableCaching导致工程启动不了,其中报错的是我们公司内部自定义的注入解析器(类似于AutoWired注解)。分析原因首先根据堆栈可以得知是空指针了.Caused by: java.lang.NullPointerException: null at com.xxx.rpc.spi.BeanUtils.getAllField(BeanUtils.java:40原创 2021-01-03 20:09:10 · 251 阅读 · 0 评论 -
SpringBootApplication的exclude不生效问题排查
SpringBootApplication的exclude不生效问题排查背景在ManApplication上添加了SpringBootApplication中配置了exclude={org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration.class}但是在启动过程了ElasticsearchAutoConfiguration还是加载了,使用配置文件的方式就可以避免加载。排查首先原创 2020-06-03 19:34:45 · 11018 阅读 · 2 评论 -
Spring Boot Caffeine Cache设置不同缓存策略及查看命中率
Spring Boot Caffeine Cache设置不同缓存策略及查看命中率根据SpringBoot官方文档,使用Caffiene Cache方法很简单:spring.cache.type=caffeinespring.cache.cache-names=cache1,cache2spring.cache.caffeine.spec=maximumSize=500,expireAfte...原创 2020-02-11 18:18:39 · 5219 阅读 · 2 评论 -
Spring boot如何写一个自定义的auto-configuration(上)
Spring boot如何写一个自定义的auto-configuration(上)这篇文章来自于spring官方文章。首先会说明要做auto-configuration理解的内容,之后来一步一步的说明如何做。文章在此理解自动配置auto-configured类 在spring boot中,自定配置是通过@Configuration的类实现的。可选的@Conditional注解用来限制什么自动配置翻译 2017-07-06 18:01:11 · 4602 阅读 · 0 评论 -
基于Spring实现的Rmi, HttpInvoker, Hessian, Web services
基于Spring实现的Rmi, HttpInvoker, Hessian, Web services因为要写Ronda的关系,所以就想了解下应该怎么实现Rmi协议。普通的Rmi必须要继承Remote 方法,但是在框架里肯定不会为每个类都继承Remote。那么就来看看官网上怎么说的,然后再分析一下为什么这么实现就可以。Spring使用不同的技术支持多种远程调用。目前支持四种:Rm...原创 2018-05-08 16:32:52 · 334 阅读 · 0 评论 -
Spring的`@ImportResoruces`在SpringBootTest里的一个问题解决记录
Spring的@ImportResoruces在SpringBootTest里的一个问题解决记录当使用这个注解并配置为如下形式的时候: @ImportResource(classpath:spring*.xml),在单元测试的时候就读取不到classpath的xml配置文件。这个问题是因为spring resource寻找机制决定的。 首先将配置的path路径和最后的文件匹配名分开,然后...原创 2018-09-06 14:16:09 · 845 阅读 · 2 评论 -
Spring Boot Application 两种启动方式分析
Spring Boot Application 两种启动方式分析问题:Spring boot一般我们都会有public static void main(String[] args) { SpringApplication.run(xxx.class, args); }但是如果我们使用war包的方式,这个去掉可以吗?解决过程:带着这个问题,看了看Spring Boot的文档在...原创 2018-11-13 20:55:49 · 1342 阅读 · 0 评论 -
Spring的@Import注解和@ImportAware接口
Spring的@Import注解和@ImportAware接口在想把一个缓存方案实现到Spring方案的时候,遇到了一个问题。默认的CacheAspectSupport并不能很好的满足需求,但是看到ProxyCachingConfiguration类直接使用的是@Configuration,并没有任何条件,这样就肯定会注册一个CacheInterceptor。但是启动应用发现只有配置了@En...原创 2018-11-19 21:41:33 · 1239 阅读 · 5 评论 -
Spring message converter入口
只是记录一下MessageConverter的调用入口,方便以后查看原创 2019-01-09 17:07:41 · 234 阅读 · 0 评论 -
Spring proxy获取target总结
Spring proxy获取target总结Aspect方式在使用Aspect方式时候,在around advice的第一个参数ProceedingJoinPoint(Join Point)的实现类,可以通过getTarget的方式获取被代理的plain service.Advisor方式使用MethodInterceptor作为advice,参数类型是MethodInvocation. ...原创 2019-03-16 11:36:57 · 3357 阅读 · 0 评论 -
记录一次context.getBean造成BeanPostProcessor的问题
记录一次context.getBean造成BeanPostProcessor的问题在一个项目里,需要在Spring的bean上去扫描是否有某个注解,于是就写了一个BeanPostProcessor的实现去扫描。@Override public Object postProcessAfterInitialization(Object bean, String beanName) throws...原创 2019-04-16 22:41:53 · 566 阅读 · 0 评论 -
Spring Log初探
背景在配置logback-spring.xml时,发现线上对对应的目录没有生成文件,并且本地运行的时候也没有在指定目录生成日志,而是工程根目录下LOG_PATH_IS_NOT_DEFINED打印了一部分日志。配置如下:application.propertieslogging.level.root=INFOlogging.path=/A/Blogback-spring.xml<...原创 2019-08-14 14:26:31 · 1001 阅读 · 0 评论 -
Spring static resource 自动配置和手动配置
Spring static resource 自动配置和手动配置自动配置按照Spring boot官网的说法,如果我们使用了spring-boot-starter-web这个模块,那么就会使用Spring mvc auto-configuration.主要包括以下内容:Inclusion of ContentNegotiatingViewResolver and BeanNameViewResol原创 2017-06-12 11:41:13 · 865 阅读 · 0 评论 -
Spring boot读取配置文件总结
Spring boot读取配置文件总结首先需要说明一下Spring boot读取PropertySource的顺序:Devtools global settings properties on your home directory (~/.spring-boot-devtools.properties when devtools is active). 开发工具全局设置的属性@TestPro原创 2017-06-08 23:56:51 · 1613 阅读 · 0 评论 -
Spring中DispatcherServlet和ContextLoaderListener的区别
#### 在Spring中DispatcherServlet和ContextLoaderListener的区别是什么?1.[Stackoverflow的问题1](http://stackoverflow.com/questions/9016122/contextloaderlistener-or-not)>A standard spring web application (c翻译 2016-02-28 10:21:58 · 2168 阅读 · 0 评论 -
Spring mvc整合Mybatis例子
整合的框架理解 Spring mvc框架是前面展示使用JSP进行页面展示,使用ServletDispatcher或者ContextLoadListener作为bean的容器,其中包括拦截器和视图解析。业务层使用Controller进行业务包装,底层使用Service实现具体的数据交互。 Mybatis是针对sqlmap使用的语句作为实现返回到service中的方法。 环境:Spring版本原创 2016-02-29 21:03:27 · 693 阅读 · 0 评论 -
WebService简单介绍
WebService简单介绍 听过Web Service的很多次,但是没有具体实现过,所以一直区分不清楚。Web Service从大体上可以分为SOAP类型和RESTFUL类型的,RESTFUL是自包含无状态的比较轻量级,不需要WSDL,UUID。SOAP是重量级的基于HTTP传输协议使用XML为消息载体格式的Web Service.Soap是分为多个框架实现的,其中包括Axis,CXF,xf原创 2016-05-20 14:32:11 · 486 阅读 · 0 评论 -
Spring配置的parent属性和java属性是相同的吗?
Spring配置的parent属性和java属性是相同的吗?本质上来说不同,Spring的parent的属性只是一个标签,用来创建实例的模板.简单来说,就省了注入属性的代码,可以把parent指向的bean的注入属性一起加进来。和方法无关。SO的回答: In spring, the parent in bean configuration signifies configuration in转载 2016-07-11 16:51:29 · 365 阅读 · 0 评论 -
Spring security 介绍: what is spring security?
Spring security 笔记(一): what is spring security?Spring Security provides comprehensive security services for Java EE-based enterprise software applications. There is a particular emphasis on supporting原创 2016-08-23 11:08:06 · 376 阅读 · 0 评论 -
Spring j_spring_security_check报404错误
Spring j_spring_security_check报404错误j_spring_security_check是spring默认的请求,如果发生404,如果spring已经不对此进行拦截了。 原因有两种:在spring-security.xml中指定了processing-url在form login的时候默认带了namespace,导致最终访问的url并非是${website}/j_原创 2016-09-17 19:42:22 · 2669 阅读 · 0 评论 -
CAS架构及原理
CAS 架构及原理CAS系统有两部分组成,分别为cas server和cas client, 这两个物理部件之间可以通过多个协议进行交互。CAS 服务端CAS服务端是用springframework建成的java servlet,主要任务是认证用户登录和授权启用CAS的service(简称cas 客户端)。而这种认证主要是通过下发和验证tickets实现的。在用户成功登陆之后,CAS服务端会生成一个原创 2016-09-19 16:53:07 · 1891 阅读 · 0 评论 -
Spring security集成CAS
Spring security集成CAS定义casService<bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> <property name="service" value="https://localhost:8080/cas-client/j_spring_c原创 2016-10-11 10:25:37 · 901 阅读 · 0 评论 -
Spring XML设置bean的构造参数和属性方法
XML设置bean的构造参数和属性方法构造参数最简单的,不用指定contructor parameter的index和type Bean:package x.y;public class Foo {public Foo(Bar bar, Baz baz) { // ...}}XML: <beans><bean name="foo" class="x.y.Foo"> <co原创 2016-09-26 10:37:16 · 9745 阅读 · 0 评论 -
Spring怎么指定properties文件
Spring怎么指定properties文件?使用PropertiesFactoryBean 有两种形式: <!-- creates a java.util.Properties instance with values loaded from the supplied location --> <bean id="jdbcConfiguration" class="org.spring原创 2016-10-07 16:00:50 · 836 阅读 · 0 评论 -
spring thymeleaf中文乱码问题
spring thymeleaf中文乱码问题分为request和response两种,然后可以设置字符集过滤或者字符集来解决。request的过程request默认自带encodingSpring的CharacterEncodingFilter进行设置request的encoding这样只要页面和后台保持一致,那么肯定不会乱码。这里主要就是为了解决很多浏览器即使在HTML页面设置了encodi原创 2017-05-19 09:59:32 · 3993 阅读 · 0 评论 -
Spring返回方式总结
Spring返回方式总结1.返回字符串,这时候会跳转到对应的页面。完成系统跳转功能。 #这个跳转到hello.jsp页面 @RequestMapping(value="/hello", method= RequestMethod.GET) public String printHello(ModelMap model){ model.addAttrib原创 2016-03-07 19:05:37 · 562 阅读 · 0 评论