最近提出了一个需求:在一个iframe中展现saiku首页 呵呵,这还不简单. 直接<iframe src="http://localhost:8080/saiku" /> 套进去不就完事了吗..我真是个天才.. 结果:呜呜...报错啦... 错误提示:Refused to display 'http://localhost:8080/saiku/' in a frame because it set 'X-Frame-Options' to 'DENY'. header里…
写在前面 上回我们讲了spring security整合spring springmvc的流程,并且知道了spring security是通过过滤器链来进行认证授权操作的.今天我们来分析一下springsecurity过滤器链的加载流程.读者在阅读本文时可以边阅读边跟着操作,这样子会理解的更清楚一些. Spring Security过滤器链 spring security的过滤器非常多,这里简单介绍几个常用的过滤器. spring security常过滤器链介绍 org.springframew…
Spring boot 国际化自动加载资源文件问题 最近在做基于Spring boot配置的项目.中间遇到一个国际化资源加载的问题,正常来说只要在application.properties文件中定义正确的资源文件路径,Spring boot就启动时就会自动加载资源. spring.messages.basename=i18n/message 但是我的项目修改后获取消息时系统报错,找不到对应语言的资源配置.于是试图找到原因.Google好久都没找到,简直好像就我一个人遇到这鬼问题一样…
前言 最近打算花点时间好好看看spring的源码,然而现在Spring的源码经过迭代的版本太多了,比较庞大,看起来比较累,所以准备从最初的版本(interface21)开始入手,仅用于学习,理解其设计思想,后续慢慢研究其每次版本变更的内容... 先从interface21的一个典型web工程例子看起,宠物诊所 - petclinic,因为该工程基本涵盖了Spring的APO.IOC.JDBC.Web MVC.事务.国际化.主题切换.参数校验等主要功能... 继上一篇,了解完Log4jConfig…
Spring bean是如何加载的 加载bean的主要逻辑 在AbstractBeanFactory中doGetBean对加载bean的不同情况进行拆分处理,并做了部分准备工作 具体如下 获取原始bean name 根据alia获取原始bean name 去除FactoryBean时的& [如果是需要获取FactoryBean自省,配置时需要在bean name前添加&] 尝试从缓存中获取实例 如果获取到实例,还要委托getObjectForBeanInstance解决FactoryBea…
    伴随着团队的不断壮大,往往不需要开发人员知道测试或者生产环境的全部配置细节,比如数据库密码,帐号信息等.而是希望由运维或者指定的人员去维护配置信息,那么如果要修改某项配置信息,就不得不去修改项目中的文件,导致运维人员有要维护项目代码,造成职责不清,权限不清的问题.     因此可以将配置文件外部化(这里不做介绍),使用配置文件外部化(比如使用Spring Cloud Config来管理)就需要了解Spring Boot对配置文件的加载机制.          Spring Boot的属性…
spring ioc 容器的加载流程 1.目标:熟练使用spring,并分析其源码,了解其中的思想.这篇主要介绍spring ioc 容器的加载 2.前提条件:会使用debug 3.源码分析方法:Intellj idea debug 模式下源码追溯 通过ClassPathXmlApplicationContext 进行xml 件的读取,从每个堆栈中读取程序的运行信息 4.注意:由于Spring的类继承体系比较复杂,不能全部贴图,所以只将分析源码之后发现的最主要的类继承结构类图贴在下方. 5.关于…
本文转自五月的仓颉 https://www.cnblogs.com/xrq730 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 文章将同步到我的个人博客: www.how2playlife.com 本文是微信公众号[Java技术江湖]的<Spring和SpringMVC源码分析>其中一篇,本文部分内容来源于网络,为了把本文主题讲得…
最近在使用spring jpa 的过程中经常遇到懒加载的错误:"` org.hibernate.LazyInitializationException: could not initialize proxy [xxxx#18] - no Session 通过查询资料,整理了一下常见的几种解决办法. 一.spring.jpa.open-in-view 配置 测试 dao 层或者 service 层时,会出现 no Session 的错误:访问 controller 时,又不会出现上面的错误.查询资…
本文主要分析 spring 中 BeanDefinition 的加载,对于其解析我们在后面的文章中专门分析. BeanDefinition 是属于 Spring Bean 模块的,它是对 spring bean 的统一抽象描述定义接口,我们知道在spring中定义bean的方式有很多种,如XML.注解以及自定义标签,同事Bean的类型也有很多种,如常见的工厂Bean.自定义对象.Advisor等等,我们在分析加载BeanDefinition之前,首先来了解它的定义和注册设计. 上面类图我们做一个…