- 博客(23)
- 资源 (10)
- 收藏
- 关注
原创 Kotlin的一点学习资源
本来想写一点Kotlin的文章的,后来看了一下它的中文文档,质量很不错。我再写就纯属浪费时间了。所以这里干脆整理一点Kotlin的学习资源吧。文档类Kotlin官方网站Kotlin官方文档Kotlin中文网站Kotlin中文文档Kotlin中文文档PDF版代码类Kotlin在线IDEKotlin Koans,一些Kotlin练习,帮助你学习和熟悉Kotlin语法。Edu Kotlin IDEA插件,
2017-02-27 23:12:13 3276
原创 Guice 快速入门
Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决Java项目中的依赖注入问题。如果使用过Spring的话,会了解到依赖注入是个非常方便的功能。不过假如只想在项目中使用依赖注入,那么引入Spring未免大材小用了。这时候我们可以考虑使用Guice。本文参考了Guice官方文档,详细信息可以直接查看Guice文档。基本使用引入依赖如果使用Maven的话,添加下面的依赖项。<dependency
2017-02-25 23:55:24 15059
原创 MyBatis快速入门(四) MyBatis和Spring集成
导入依赖包前面介绍了MyBatis的相关知识,现在来介绍一下如何和Spring进行集成。MyBatis和Spring的集成工作是由MyBatis团队完成的。所以我们首先要先引入MyBatis和Spring的集成依赖包。这里我用的是Gradle,如果使用其他构建工具,将下面的语句改为相应的。compile group: 'org.mybatis', name: 'mybatis-spring', ve
2017-02-21 01:25:37 1510
原创 MyBatis快速入门(三) 动态SQL
动态SQLMyBatis还有一个方便的功能就是动态SQL,可以根据条件智能生成SQL语句。这里的例子全部来自MyBatis文档。if标签下面这个例子使用了MyBatis的if元素,在标题不为空的情况下在查询结果中包含标题的查询。<select id="findActiveBlogWithTitleLike" resultType="Blog"> SELECT * FROM BLOG
2017-02-20 22:54:24 4333 2
原创 MyBatis快速入门(二) 多表映射
实体类和数据表在这个例子中有三个实体类,作者、文章和评论。public class Author { private int id; private String username; private String nickname; private LocalDate birthday; private LocalDateTime registerTime;
2017-02-20 22:49:42 564
原创 MyBatis快速入门(一) 搭建环境和单表映射
MyBatis简介一说起对象关系映射框架,大家第一时间想到的肯定是Hibernate。Hibernate作为一个著名的框架,功能十分强大。我们只需要配置好实体类和数据表之间的关系,Hibernate就会自动帮我们完成生成并执行SQL语句,映射结果集这样的工作。但是也正是由于Hibernate如此强大的功能,导致了它的缺点:一是非常笨重,启动Hibernate的SessionFactory非常耗时,开
2017-02-20 22:36:24 447
原创 Spring Web MVC框架(十二) 使用Thymeleaf
Thymeleaf简介前面的例子我们使用的视图技术主要是JSP。JSP的优点是它是Java EE容器的一部分,几乎所有Java EE服务器都支持JSP。缺点就是它在视图表现方面的功能很少,假如我们想迭代一个数组之类的,只能使用<% %>来包括Java语句进行。虽然有标准标签库(JSTL)的补足,但是使用仍然不太方便。另外JSP只能在Java EE容器中使用,如果我们希望渲染电子邮件之类的,JSP就无
2017-02-16 16:48:55 17568 2
原创 Spring Web MVC框架(十一) Spring Web MVC测试框架
Spring 也提供了完善的测试框架,我们可以方便的测试Spring Web MVC应用程序。为了使用这个测试框架,我们需要添加它的依赖项。compile group: 'org.springframework', name: 'spring-test', version: '4.3.6.RELEASE'服务端测试我们可以利用Spring提供的Mock对象来测试我们Spring程序的服务端行为。通过
2017-02-15 14:14:47 640
原创 AssertJ简介
JUnit和Hamcrest学Java的一定知道JUnit吧,它是一个著名的Java单元测试框架。我们在使用JUnit测试的时候,一般情况下会使用它的Assert类下的各种assertXXX方法。如果是细心一点的用户可能会发现JUnit包含了一个依赖Hamcrest,这是一个断言库。我们可以使用断言库来进行复杂的断言操作。但是Hamcrest有几个缺点:一是缺乏更新,我看了看MavenCentral
2017-02-15 01:15:26 4337
原创 Spring Web MVC框架(十) HTTP缓存
Spring的缓存控制类合理利用HTTP缓存,可以提高应用程序的性能。Spring当然也对HTTP缓存提供了支持。HTTP缓存最基础的类就是org.springframework.http.CacheControl,我们可以使用该类提供的各种工厂方法来得到一个CacheControl对象,然后将它添加到各种方法中。常用的工厂方法有maxAge、cachePublic、noTransform等等。它们
2017-02-14 21:45:36 3095
原创 Spring Web MVC框架(九) XML和JSON视图与内容协商
Spring MVC不仅支持各种网页视图,也支持JSON、XML这样的视图。而且还支持内容协商,也就是根据传入的扩展名、请求参数、Accept Header等信息决定具体采用哪种视图。我们先来看看Spring的JSON和XML视图。手动实现JSON或XML视图这是最笨的办法,不过描述起来很简单。我们只要按照自己习惯的方式使用自己熟悉的类库,在控制器中手动将要转换的对象转化成JSON或XML字符串,然
2017-02-14 02:46:14 750
原创 Fiddler快速入门
Fiddler是一个免费、强大、跨平台的HTTP抓包工具。Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少。所以如果你需要研究HTTP包的话,Fiddler一定是最适合的工具。下载和安装我们可以到Fidller下载页面下载Fiddler。下载完成之后安装即可。安装之后,我们打开它,可以得到类似的用户界面。在Wi
2017-02-11 21:39:05 12143 4
原创 Spring 对象XML映射
OXM简介我们都知道对象关系映射(ORM),用来将Java对象和关系型数据库的数据进行映射。Spring也提供了一套类似的映射机制,用来将Java对象和XML文件进行映射。这就是Spring的对象XML映射功能,有时候也成为XML的序列化和反序列化。这套功能的最基本的两个接口就是org.springframework.oxm.Marshaller和org.springframework.oxm.Un
2017-02-10 21:17:25 5470 1
原创 Spring Web MVC框架(八) 配置Spring Web MVC
这一篇文章对应于Spring参考文档 Configuring Spring MVC,讲的是Spring Web MVC各部分的配置方法,包括Java代码配置和XML文件配置以及MVC命名空间的使用方法。启用MVC Java配置和XML命名空间默认配置要启用MVC Java配置(@Controller等各种注解)和XML命名空间,如果使用的是Java配置,在配置类上再添加@EnableWebMvc注解
2017-02-10 00:26:41 4628 1
原创 Spring Web MVC框架(七) 基于代码的容器初始化
前面我们的Spring项目都是使用XML文件配置的,包括web.xml和Spring配置文件。Spring还支持基于代码的配置,这样我们的Spring程序就可以脱离web.xml文件,全部使用代码来配置。WebApplicationInitializer接口第一个接口就是org.springframework.web.WebApplicationInitializer,我们实现该接口,然后在onSt
2017-02-09 17:57:15 535 1
原创 Spring Web MVC框架(六) 异常处理
Spring Web MVC对异常处理有着完善的支持,我们可以捕获控制器中抛出的任何异常,然后按照异常类型将异常信息映射到某个视图文件,向用户显示对应的信息。@ExceptionHandler最简单的办法就是使用@ExceptionHandler注解。它可以定义到一个控制器中,处理该控制器抛出的异常。@ExceptionHandler注解接受一个Class,指定捕获哪个异常。如果不指定这个值,则捕获
2017-02-08 23:40:39 698 1
原创 Spring Web MVC框架(五) 文件上传
Spring同样支持文件上传功能,不过该功能默认未开启,因为可能有些开发者可能希望自己处理文件上传过程。Spring的文件上传功能在org.springframework.web.multipart包下,有两个MultipartResolver实现用来支持文件上传功能,一个是基于Commons FileUpload ,另一个基于Servlet 3.0 multipart请求解析功能。这两个Multi
2017-02-08 22:22:09 538 1
原创 Spring Web MVC和Hibernate的集成
网上看到很多关于Spring与Hibernate的集成的文章,奈何由于那些文章写作时间较早,很多都是Spring 3 和Hibernate 4等较旧的版本。所以我在这里使用更新的版本来说明一下。添加项目依赖首先我们需要一个Java Web项目,最好使用Maven或Gradle构建工具,方便我们解决软件依赖。我在这里使用Gradle构建工具,构建脚本如下。我们只要引入spring-webmvc和spr
2017-02-08 18:29:05 430
原创 Spring Web MVC框架(四) 视图和视图解析
视图解析器在Spring中视图相关的两个接口是ViewResolver和View两个接口,ViewResolver用于视图名称和实际视图之间的映射,View接口用于准备和传递数据到实际的视图。下面是一些Spring支持的一些ViewResolver。对于其他视图技术(例如Thymeleaf)可能自己实现视图解析器以便和Spring集成。 视图解析器 功能 AbstractCachingVi
2017-02-08 00:08:22 3220
原创 Spring Web MVC框架(三) 异步处理
前面介绍的处理方法都是同步的,意味着所有操作都在一个线程中完成。有时候处理流程可能很长,可能需要长时间的IO,这时候同步处理方法会白白占用处理器资源。这样就需要异步处理方法。启用异步请求要启用异步处理功能,我们要打开DispatcherServlet的异步支持。在web.xml中添加<async-supported>true</async-supported>即可。web.xml最低必须是3.0的。
2017-02-07 01:02:44 1336
原创 Spring Web MVC框架(二) 控制器
在前面我们搭建了基本的Spring Web MVC环境,并配置了一个控制器。下面我们来详细学习一下控制器。控制器的主要作用就是处理特定URL发过来的HTTP请求,然后进行业务逻辑处理,将结果返回给某个特定的视图。处理请求我们在前面定义了如下一个控制器。在Spring中定义控制器非常简单,新建一个类然后应用@Controller注解即可,当然一般习惯上将控制器类也命名为XXController。每个控
2017-02-06 19:24:20 479
原创 Gradle 快速入门
大家应该都经历过为了学习Hibernate、Spring这样的框架,需要引用大量Jar包而忙得焦头烂额的经历吧。在Java中管理Jar包确实是一件麻烦事情。而且有时候就算你电脑上一个项目配置的好好的,换一台电脑马上就不行了。因此就产生了项目构建工具这么一个玩意,它能大大简化我们构建项目所需的成本。Maven就是这么一个项目构建工具,它的配置文件是一个XML文件。这样做的优点就是配置易于理解,因为是X
2017-02-06 02:55:25 1067
原创 Spring Web MVC框架(一) 搭建环境
学过Java的都知道SSH,也就是Struts、Spring和Hibernate。其中Struts是一个Web MVC框架,Hibernate是ORM框架,Spring是一组框架。不过由于Struts设计较早,其中有些设计已经过时了,框架漏洞也比较多。而且Struts的编写也不方便(例如控制器必须继承Controller类),所以现在Struts用的比较少了。现在更加常用的Web MVC框架是Spr
2017-02-04 00:37:12 6862
Spring Boot小例子程序
2017-03-20
纯Servlet和JSP实现的博客小程序
2017-01-22
JSP分页小例子
2017-01-20
Hibernate查询练习小例子
2017-01-11
Hibernate Validator 小例子
2017-01-10
Hibernate查询小例子
2017-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人