摘要: 模板引擎在实际的开发中用的越来越少了,但是也有一些优点,比如更有利于SEO,性能会更好一点,有时候使用模板引擎会更方便,比如说邮件模板。这篇文章主要讨论Spring boot与模板引擎Thymeleaf、Freemaker以及JSP的集成。 阅读全文
posted @ 2018-05-08 07:33 liuxiaopeng 阅读(42518) 评论(4) 推荐(11) 编辑
摘要: 在面向对象编程的过程中,我们很容易通过继承、多态来解决纵向扩展。 但是对于横向的功能。面向对象的是无法解决的。所以AOP——面向切面编程其实是面向对象编程思想的一个补充。过滤器和拦截器是AOP思想的具体实现,本文讲解了在Spring boot下对过滤器和拦截器的使用。 阅读全文
posted @ 2018-01-30 08:20 liuxiaopeng 阅读(236177) 评论(16) 推荐(45) 编辑
摘要: 本文主要给大家分享了Spring boot 对静态资源的处理方式,Spring boot 默认可以访问classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/四个目录下的静态资源,我们也可以根据自己的需要进行个性化配置。 阅读全文
posted @ 2018-01-23 07:58 liuxiaopeng 阅读(25978) 评论(1) 推荐(15) 编辑
摘要: 在日常工作中,我们往往会给前端(WEB端、IOS、Android)或者第三方提供接口,这个时候我们就需要给他们提供一份详细的API说明文档。但维护一份详细的文档可不是一件简单的事情。首先,编写一份详细的文档本身就是一件很费时费力的事情,另一方面,由于代码和文档是分离的,所以很容易导致文档和代码的不一致。这篇文章我们就来分享一种API文档维护的方式,即通过Swagger来自动生成Restuful API文档。 阅读全文
posted @ 2018-01-16 08:08 liuxiaopeng 阅读(20745) 评论(12) 推荐(13) 编辑
摘要: 本文讲解了如果通过Spring boot来实现前后端的交互,首先演示了传统的数据交互方式,然后重点讲解如何设计一个Restful的API,并通过Spring boot来实现相关的API。 阅读全文
posted @ 2018-01-09 07:54 liuxiaopeng 阅读(66619) 评论(4) 推荐(10) 编辑
摘要: 上一篇文章通过通过HelloWorld程序讲解了Spring boot的基本原理和使用,本文在上篇的基础上讲解Spring boot对数据库访问的支持,通过实际的例子演示了Spring boot与JdbcTemplate、JPA以及MyBatis的集成,并对这个过程中遇到的问题进行了分析。 阅读全文
posted @ 2018-01-03 07:48 liuxiaopeng 阅读(38374) 评论(6) 推荐(8) 编辑
摘要: 本文详细分析了Spring boot实现的一个web版的Hello World,通过Hello world这样一个简单的例子,详细讲解了Spring boot的基本操作,并对对Spring boot的原理做了相应的分析。 阅读全文
posted @ 2017-12-26 10:47 liuxiaopeng 阅读(6643) 评论(8) 推荐(21) 编辑
摘要: 一、Collection接口 从《Java集合:整体结构》一文中我们知道所有的List和Set都继承自Collection接口,该接口类提供了集合最基本的方法,虽然List接口和Set等都有一些自己独有的方法,但是基本的操作类似。我们先看下Collection接口提供的方法: 总体上可以将Colle 阅读全文
posted @ 2016-06-06 08:06 liuxiaopeng 阅读(3572) 评论(3) 推荐(11) 编辑
摘要: Java中集合类是Java编程中使用最频繁、最方便的类。集合类作为容器类可以存储任何类型的数据,当然也可以结合泛型存储指定的类型(不过泛型仅仅在编译期有效,运行时是会被擦除的)。集合类中存储的仅仅是对象的引用,并不存储对象本身。集合类的容量可以在运行期间进行动态扩展,并且还提供很多很方便的方法,如求集合的并集、交集等。 阅读全文
posted @ 2016-05-31 08:04 liuxiaopeng 阅读(16218) 评论(8) 推荐(13) 编辑
摘要: volatile关键字就是Java中提供的另一种解决可见性和有序性问题的方案。对于原子性,需要强调一点,也是大家容易误解的一点:对volatile变量的单次读/写操作可以保证原子性的,如long和double类型变量,但是并不能保证i++这种操作的原子性,因为本质上i++是读、写两次操作。 阅读全文
posted @ 2016-05-17 08:01 liuxiaopeng 阅读(65512) 评论(22) 推荐(32) 编辑