在一个项目中的异常我们我们都会统一进行处理的,那么如何进行统一进行处理呢? 新建一个类GlobalDefaultExceptionHandler, 在class注解上@ControllerAdvice, 在方法上注解上@ExceptionHandler(value = Exception.class),具体代码如下: com.kfit.base.exception.GlobalDefaultExceptionHandler package com.kfit.base.exception; imp…
[从零开始学习Spirng Boot-常见异常汇总] 我们按照正常的流程编码好了 controller访问访问方法/hello,对应的是/templates/hello.html文件,但是在页面中还是抛出了错误信息: Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Jul 26 21:01:09 CST 2016…
我们在开发过程中可能需要用到多个数据源,我们有一个项目(MySQL)就是和别的项目(SQL Server)混合使用了.其中SQL Server是别的公司开发的,有些基本数据需要从他们平台进行调取,那么在项目中就需要支持多数据源,不然就只能获取到自己的数据源的数据了.当然还有很多其它方面的使用场景,多数据库,比如有专门负责生成id的数据库,或者主从库分离等等.总之多数据源可能在实际中还是需要用到的. 在Spring Boot中使用单数据源的配置很简单,我们简单回忆下:只需要在application…
之前在两篇文章中都有简单介绍或者提到过 自定义属性的用法: 25.Spring Boot使用自定义的properties[从零开始学Spring Boot] 51. spring boot属性文件之多环境配置[从零开始学Spring Boot] 但是在实际开发过程中有更复杂的需求,我们在对properties进一步的升华.在本篇博客中您将会学到如下知识(这节中有对之前的知识的温故,对之前的升华): (1) 在application.properties文件中添加自定义属性(单个属性使用): (2…
转载:http://blog.csdn.net/linxingliang/article/details/52013017 我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用spring提供的其他对象或者说有一些不需要交给spring管理,但是需要用到spring里的一些对象.如果这是spring框架的独立应用程序,我们通过 Application…
转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter)和 监听器(Listener)的注册方法和 Servlet 一样,不清楚的可以查看下上一篇文章(20): 本文将直接使用@WebFilter和@WebListener的方式,完成一个Filter 和一个 Listener:使用注解 @ServletComponentScan//这个就是扫描相应的Se…
[原创文章,转载请注明出处] 针对文章: ()Spring Boot 添加JSP支持[从零开始学Spring Boot] 有网友提了这么一些疑问: 1.Spring Boot使用jsp时,仍旧可以打成jar包的形式吗? 2.Spring Boot使用jsp时,比如说css,image,js 等三种静态资源文件,应该放在什么目录下?这些静态资源映射,在spring boot中具体应该怎么做? 例如,下面是spring中做的静态资源映射,但是在spring boot中不知道怎么处理:     <!-…
[原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢?        引入fastjson依赖库: <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> &…
[原创文章,转载请注明出处] Spring Boot默认选择的Thymeleaf是2.0版本的,那么如果我们就想要使用3.0版本或者说指定版本呢,那么怎么操作呢?在这里要说明下 3.0的配置在spring boot 1.4.0+才支持的,当前博主自己使用的是1.3.3版本,但是会抛出异常信息,当前官方最新支持的是1.4.0.RELEASE.再次强调低版本可能启动会报错,需要使用1.4.0+版本哦.在1.4.0版本默认的还是选择2.0版本的. 只需要在pom.xml加入配置即可,具体看代码: <p…
在之前有一篇文章说了,博客名称从原来的<从零开始学Spring Boot>更改为<Spring Boot常见异常汇总>,后来写了几篇文章之后发展,有些文章还是一些知识点,所以后续的文章还是决定还原回原来的博客名称<从零开始学Spring Boot>了.好了,这些都是无关痛痒的话,那么我们看看这章的内容吧. 事情的起源:有人问我,说编写了一个/hello访问路径,但是吧,不管是输入/hello还是/hello.html,还是/hello.xxx都能进行访问.当时我还以为他…
[从零开始学习Spirng Boot-常见异常汇总] 事情的起因:有人问过我们这个这个问题:为什么我利用Spring data jpa写的方法没有按照我想要的情况进行执行呢?我记得当时只是告诉他你你先看看Spring Data的命名规则吧.所以在这一小节把Spring Data方法定义的规则简单说明下. (1)简单条件查询 简单条件查询:查询某一个实体类或者集合. 按照Spring Data的规范的规范,查询方法以find | read | get 开头,涉及查询条件时,条件的属性用条件关键字连…
[从零开始学习Spirng Boot-常见异常汇总] 针对于Spring Boot提供的注解,如果没有好好研究一下的话,那么想应用自如Spring Boot的话,还是有点困难的,所以我们这小节,说说Spring Boot注解. (1)@SpringBootApplication 申明让spring boot自动给程序进行必要的配置,这个配置等同于: @Configuration ,@EnableAutoConfiguration 和 @ComponentScan 三个配置. 这个具体可以查看博客…
[从零开始学习Spirng Boot-常见异常汇总] 如果您碰到什么问题,您可以加群进行探讨,在群里有加入的都是Spring Boot志同道合的朋友: Spring Boot QQ交流群:193341332 [Spring Boot 系列博客] 61. mybatic insert异常:BindingException: Parameter 'name' not found[从零开始学Spring B] 60. Spring Boot写后感[从零开始学Spring Boot] 59. Sprin…
[从零开始学习Spirng Boot-常见异常汇总] 在之前的文章已经讲过spring boot集成mybatis了,但是忘记说一个很重要的知识点了,那就是获取获取主键id,这篇文章补充下,spring boot集成mybatis看之前文章: (). Spring Boot MyBatis连接Mysql数据库[从零开始学Spring Boot] 其实这个也很简单,主要是使用@Options注解,核心代码如下: @Insert("insert into Demo(name,password) va…
[从零开始学习Spirng Boot-常见异常汇总] 问题的提出: 我们在开发过程当中,我们可能会碰到这样的问题:No qualifying bean  就是我们定义的bean无法进行注入,那到底是什么原因呢,有时候挺难定位的,当然这个也需要养成良好的编码习惯,这样也会降低出错的几率. 那么一般说是No quanlifying bean很有可能就是我们没有使用注解或者xml注入我们的bean,要么就是我们bean的名称不是我们注入时指定的名称,那么我们就会想如何查看已经载入到spring boo…
[从零开始学习Spirng Boot-常见异常汇总] 在使用JPA的时候,如果对bean的生命周期不了解的话,难免会碰到一些问题,比如:InvalidDataAccessApiUsageException: Removing a detached instance . 那么这一小节说说实体Bean的生命周期. 1.实体Bean生命周期的4种状态 实体分为被容器管理和不被容器管理两种.可以通过实体管理器的的两个方法进行检测:    contains()用来检查实体是否被管理.    clear()…
[从零开始学习Spirng Boot-常见异常汇总] Spring的代理模式有两种:java自带的动态代理模式和cglib代理模式,cglib代码模式适用于没有接口的类,而java自带适用于接口类,默认情况下spring boot或者spring 采用接口类的代理模式,如果我们是基于接口编程的,是不会发生问题的,但是如果我们定义了一个class类继承Base类的时候就会出问题了.如下代码就会出现问题: 基本接口类com.kfit.demo.test.IBaseTestService: packa…
[从零开始学习Spirng Boot-常见异常汇总] 这个小节吧,是无意当中看了一篇文章,觉得介绍的特别好,引用到我的博客中,让大家也乐下.那么他是怎么解说IOC的呢?看如下: 套用好莱坞的一句名言就是:你呆着别动,到时我会找你. 什么意思呢?就好比一个皇帝和太监 有一天皇帝想幸某个美女,于是跟太监说,今夜我要宠幸美女 皇帝往往不会告诉太监,今晚几点会回宫,会回哪张龙床,他只会告诉太监他要哪位美女 其它一切都交由太监去安排,到了晚上皇帝回宫时,自然会有美女出现在皇帝的龙床上 这就是控制反转,而把…
[从零开始学习Spirng Boot-常见异常汇总] 在(39.2). Spring Boot Shiro权限管理[从零开始学Spring Boot] 这一章节中有人碰到这样一个问题"导入的数据和我自己生成的表不对应自己生成的表名有下滑杠连接符". 这个问题主要是JPA的命名策略不一致导致的. 我们有这么一个配置: spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.DefaultNamingStrategy 这里的值有两个…
[从零开始学习Spirng Boot-常见异常汇总] 事情的起源,无意当中在一个群里看到这么一句描述:"有人么?默默的问一句,现在开发用mybatis还是hibernate还是jpa"? 然后大家就进行各种回答,但是没有有质疑这句话描述的合理性,个人觉得需要清楚概念的,在这里mybatis大家肯定是没有什么疑问,我们把上面那句话更改下,方便我们抛出一些点出来,去掉mybatis修改为:"现在开发是使用hibernate还是 jpa"? 那么在这里的话,我们就要清楚h…
[从零开始学习Spirng Boot-常见异常汇总] 在Spirng Boot中集成了PageHelper,然后也在需要使用分页的地方加入了如下代码: PageHelper.startPage(1,1); 但是就是不生效呢,数据库的所有数据都查询出来了这是咋回事呢? 这个可能你使用错了版本号,主要是pom.xml文件中的版本的引入,错误的版本引入: <dependency> <groupId>org.mybatis.spring.boot</groupId> <a…
从2016年4月15日到2016年7月20日经历长达3个月的时间,[从零开始学习Spring Boot]系列就要告一段落了.国内的各种资源都比较乱或者是copy 来copy去的,错了也不加以修正下,导致通过百度找到的资源可能都是错误的,正是由于这么一种情况,博主才想写这系列的博客的,当然也有好些博主的文章真是很赞. 不曾拿起:谈何放下:不曾经历,谈何懂得.没有用心写过博客的人都无法感受到用心人写博客的不易.在此我们真的要感谢那些无私奉献,用他们自己的时间,把他们的才华以及经验展现给我们,是他们的…
大纲: (1) 入门例子: (2) 国际化: (3) 在代码中添加错误信息: (1) 入门例子: Validator主要是校验用户提交的数据的合理性的,比如是否为空了,密码长度是否大于6位,是否是纯数字的,等等.那么在spring boot怎么使用这么强大的校验框架呢. 在这里我们主要是使用注解进行学习.我们先说说我们的需求: 我们有一个demo.html,在页面上有两个元素 姓名输入框,密码输入库,提交按钮. 提交到后台之后,使用Validator进行校验,然后如果存在错误,转发到demo.h…
如果你使用的是spring boot 1.4.0版本的话,那么你可能需要配合以下文章进行学习 90.Spring Boot 1.4 使用log4j错误[从零开始学Spring Boot] Log4j是每个开发者比较熟悉的日志框架,所以咱们升级篇中优先介绍这个. 那么如何操作呢?我们一起来看看使用过程吧. 引入log4j依赖 在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-starter-logging,该依赖内容就是Spri…
(本节提供源代码,在最下面可以下载) (4). 集成Shiro 进行用户授权 在看此小节前,您可能需要先看: http://412887952-qq-com.iteye.com/blog/2299732  64.JPA命名策略[从零开始学Spring Boot]  紧着上一小节,在上一节我们编写了简单的一个小程序,但是我们会发现我们随便访问index,login 以及任何一个界面,无需登录也可以进行访问,但是这不是我们所想要的,我们想要的是希望在用户没有登录的情况下,跳转login页面进行登录.…
[本文章是否对你有用以及是否有好的建议,请留言] 在使用spring boot做负载均衡的时候,多个app之间的session要保持一致,这样负载到不同的app时候,在一个app登录之后,而访问到另外一台服务器的时候,session丢失. 常规的解决方案都是使用:如apache使用mod_jk.conf,使用Memcached进行共享. 在开发spring boot app的时候可以借助 spring session 和redis或者ehcache,用外置的redis或者ehcache来存储se…
[本文章是否对你有用以及是否有好的建议,请留言] 本文章牵涉到的技术点比较多:Spring Data JPA.Redis.Spring MVC,Spirng Cache,所以在看这篇文章的时候,需要对以上这些技术点有一定的了解或者也可以先看看这篇文章,针对文章中实际的技术点在进一步了解(注意,您需要自己下载Redis Server到您的本地,所以确保您本地的Redis可用,这里还使用了MySql数据库,当然你也可以内存数据库进行测试).这篇文章会提供对应的Eclipse代码示例,具体大体的分如下…
[来也匆匆,去也匆匆,在此留下您的脚印吧,转发点赞评论] 如果看了我之前的文章,这个节你就可以忽略了,这个是针对一些刚入门的选手存在的困惑进行写的一篇文章. 很多Spring Boot开发者总是使用 @Configuration , @EnableAutoConfiguration 和 @ComponentScan 注解他们的main类.由于这些注解被如此频繁地一块使用(特别是你遵循以上最佳实践时),Spring Boot提供一个方便的 @SpringBootApplication 选择.该 @…
[来也匆匆,去也匆匆,在此留下您的脚印吧,转发点赞评论: 您的认可是我最大的动力,感谢您的支持] Spring Boot理念就是零配置编程,但是如果绝对需要使用XML的配置,我们建议您仍旧从一个@Configuration类开始,你可以使用@ImportResouce注解加载XML配置文件,我拿一个例子来进行讲解: 这个例子的大体步骤如下: (1)新建一个工程; (2)在App.java类编写HelloService2; (3)在App.java类无法扫描的包下编写HelloService; (…
文件上传主要分以下几个步骤: (1)新建maven java project: (2)在pom.xml加入相应依赖: (3)新建一个表单页面(这里使用thymleaf); (4)编写controller; (5)测试: (6)对上传的文件做一些限制: (7)多文件上传实现 (1)新建maven java project 新建一个名称为spring-boot-fileupload maven java项目: (2)在pom.xml加入相应依赖: 加入相应的maven依赖,具体看以下解释: <!--…