自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乐百川

我是乐百川,努力做一个有趣的人,欢迎关注

  • 博客(28)
  • 资源 (10)
  • 收藏
  • 关注

原创 深入理解Spring AOP代理

一开始我对Spring AOP还是属于一知半解的状态,这几天遇到一个问题,加上又查看了一些Spring相关知识,感觉对这个问题有了更深刻的认识。所以写下来分享一下。我们知道,Spring支持多种AOP方式,Spring自己的基于代理的AOP和AspectJ的基于编织(weaving)的AOP。如果一个类实现了一个或多个接口,那么Spring就会使用默认的JDK动态代理,如果没有实现任何接口,就会使用

2017-01-31 22:03:02 474

原创 Spring学习笔记 事务管理

事务简介所谓事务,指的是程序中可运行的不可分割的最小单位。在生活中事务也是随处可见的。比方说你在Steam上剁手买了一款游戏,那么付款就是一个事务,要么付款成功,游戏到手;要么付款失败,钱退回你账户。不可能也绝不应该出现花了钱游戏却没到的情况。所以,事务也应该具有两个操作:成功时候提交,或者失败时候回滚。许多框架也提供事务管理功能。JDBC中,你可以关闭自动提交,然后使用Connection.com

2017-01-31 20:48:56 1130

原创 Spring学习笔记 Spring JDBC框架

Spring JDBC简介先来看看一个JDBC的例子。我们可以看到为了执行一条SQL语句,我们需要创建连接,创建语句对象,然后执行SQL,然后操纵结果集获取数据。try(Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD)){ List<User> users = new ArrayList<

2017-01-29 03:09:37 4011

原创 Spring学习笔记 AOP

AOP,也就是面向方面编程或者说面向面编程,是一种很重要的思想。在企业级系统中经常需要打印日志、事务管理这样针对某一方面的需求,但是传统的面向对象编程无法很好的满足这些需求。因此催生了面向切面编程这样的思想。面向切面编程,通过动态代理这样的功能,向要执行的方法添加钩子,能够在不改动原方法的情况下,动态添加新功能。所以在现代系统中算是一项必需的功能了。Spring框架也很好的支持了AOP。AOP的几个

2017-01-26 01:45:12 618

原创 JSTL 核心标签库小结

JSTL全称是Java标准标签库,是为了弥补默认JSP在视图表现方面的不足而出现的。其实在2017年的Java开发中用到的不是很多了。现在新的模板引擎比如Thymeleaf这样的貌似更加流行。不过我最近在学习Java,顺便也把JSTL这部分内容看了看,做了一点总结。要查看JSTL的完整官方文档,可以查看Oracle的Java EE 5官方教程。安装JSTLJSTL默认没有包含在Tomcat这类服务器

2017-01-22 22:31:58 425

原创 一个纯Servlet和JSP实现的小博客系统的开发心得

心得在学了一点SSH框架之后,我就一直在想,如果完全不用任何框架,只使用Servlet和JSP的相关知识,来实现一个小系统,会是什么样的。这就是这个小程序,一个简单甚至简陋的博客系统,功能很简单,只有用户登录、注册,发表、修改文章,发表评论,用户信息这几个功能。不过只用Java EE的这些内容来做,还是稍微有些难度的。dao我遇到的第一个问题就是dao的编写。用惯了Hibernate的对象关系映射之

2017-01-22 20:37:03 8400 2

原创 JSP分页显示数据

最近在做一个小程序,用到了JSP的分页。虽然只是最简单的分页,但是还是花了我不少时间。这看似简单的功能,实现起来还是稍微有点麻烦。实现分页功能,需要知道数据的总个数,每页应该有多少条数据,以及当前页码。假如总共有300条数据,每页20条,那么应该就有15页;假设有301条数据,每页20条,这时候就需要16页。因此,总页数可以这样计算:总页数=数据总数%每页条数==0?数据总数/每页条数:数据总数/每

2017-01-20 16:35:09 72782 12

原创 JDBC日期和新的JDK8 日期API转换问题

网上的Java博客,凡是有几年的,而且有关于日期的地方,基本上用的都是java.util.Date这个类。如果有细心的同学看一下Eclipse或者IDEA的代码提示,就会发现java.util.Date这个类几乎所有方法都被标记为了过时的。实际上这个类也已经过时了。原因很简单,这个类在第一版Java中就出现了,但是这个类设计并不完善,导致用它来处理时间非常麻烦。在新的JDK8中引入了一组全新的日期时

2017-01-17 23:00:12 2193

原创 JDBC 简介

JDBC英文全称是Java Database Connectivity,也就是Java数据库连接。这是一个Java连接SQL数据库的标准,包含了常用的API,让我们能方便的连接盒管理SQL数据库。每个数据库厂商都会提供相应的JDBC驱动程序,实现相应的接口。这样我们就能以统一的方式,操作不同的数据库了。建立连接要使用JDBC,首先要做的事情就是建立一个数据库连接,这是一个java.sql.Conne

2017-01-17 17:03:01 3693

原创 JUnit4 简介

JUnit4是一个易学易用的Java单元测试框架,使用非常广泛。现阶段的最新版本号是4.12,JUnit5目前正在测试中,所以这里还是以JUnit4为准。引入JUnit现在主流的IDE比如IDEA或者Eclipse都提供了对JUnit4的支持,可以非常方便的使用JUnit4。当你在代码中添加了@Test注解,然后使用IDE的自动补全功能时,一般情况下IDE会弹出对话框询问你是否将JUnit4库添加到

2017-01-15 23:30:51 8454 3

原创 Spring学习笔记 依赖注入

依赖注入简介依赖注入是一个很常用的词。Java新手常会写出如下的代码,直接在写一个类的时候让它自己初始化自己。但是这不是一个好办法。一个类的状态应该由创建它的类决定,不能由自己决定自己。因此更好的办法是交给构造方法来初始化。public class User { private long id; private String username; private String

2017-01-15 00:52:00 2936 1

原创 Spring学习笔记 搭建环境

现在开始我们就要开始学习Spring框架了。首先要做的事情就是搭建Spring环境,为了让我们关注于Spring的功能,我在这里使用Spring Initializer,它会自动为我们创建一个包含了Spring依赖的项目,让我们能直接快速开始。打开IDEA或者STS,点击新项目,然后选择Spring Initializer,或者登陆Spring Initializer网站在线生成也可以。如果使用在线

2017-01-14 19:46:11 429

原创 Log4j2 简单使用

日志是一个系统经常用到的功能,我们可以在调试的时候依靠日志查看输出,在程序运行的时候通过查看日志判断程序运行状态。在Java世界中,有一个非常著名的日志类库——Log4j。现在Log4j也有了新版本,就是Log4j2。新版本的好处我就不多说了。让让我们来开始使用吧。引入Log4j2要使用Log4j2,第一步就是先导入它的jar包。如果是普通项目的话,到log4j2官网下载jar包,然后将log4j-

2017-01-13 00:17:47 3836

原创 Lombok简介

最近发现了一个非常好用的库,叫做Lombok,它可以帮助我们简化一些Java代码的编写。我试用了一下感觉非常好用,所以来介绍一下。下面对Lombok的简单使用方法做一下总结:val 这不是一个注解,用于局部变量声明,减少重复输入。@NotNull 作用在方法参数上的注解,用于自动生成空值参数检查。@Cleanup 作用在局部变量上,在作用域结束时会自动调用close方法释放资源。@Gette

2017-01-12 21:16:42 4416

原创 Spring学习笔记 Spring项目介绍

Spring项目在Java语言中起到了重要的作用,只要是学习过Java语言的人一定听说过Spring的大名。Spring不是一个单一的框架,而是一个功能各异,又互相补充的框架家族。下面来针对Spring下主要的一些项目进行一下简单介绍。Spring IO Plaform我们在构建项目的时候,需要导入不同的依赖项。但是有时候不同版本对于依赖之间可能会出现不兼容的情况。Spring IO Plaform

2017-01-11 20:51:31 3895

原创 Hibernate学习笔记 JPA简介

Hibernate除了是一个ORM框架之外,同时还实现了Java EE的一项标准JPA。我们在前面已经看到了Hibernate可以在注解方面直接使用JPA。现在我们来看看如何在Hibernate中使用JPA。关于JPA注解前面已经做了一定介绍,所以这里只用一个最简单的实体类。@Entitypublic class User { @Id @GeneratedValue(strateg

2017-01-11 15:58:15 482

原创 Hibernate学习笔记 Hibernate Validator简介

Hibernate项目中不仅有ORM一个框架,这里介绍的是它的另一个框架Validator,用来验证实体类是否满足需求。Validator实现了Java的一项标准Bean Validation。如果使用Maven,就需要在pom.xml中添加如下一段,Hibernate需要Java EL表达式,因此需要添加EL的依赖项。<dependency> <groupId>org.hibernate</

2017-01-10 22:21:04 10365

原创 Hibernate学习笔记 查询简介

创建实体类在介绍Hibernate查询语言之前,首先我们来建立一下数据库。这里直接使用了MySQL自带的样例数据库world。如果你没有安装MySQL那么需要安装一下,并且在安装的时候选择安装样例数据库。安装完成之后,应该能在MySQL中看到一个名为world的数据库,其中有三个表,country、city以及countrylanguage表。然后我们来建立这三个表对应的实体类。需要注意,由于这一次

2017-01-10 16:24:09 529 2

原创 Hibernate学习笔记 多表映射

前面说了Hibernate的单表映射,由于是实体类和数据表之间一对一的映射,所以比较简单。现在就来说说多表映射,这需要涉及到多个实体类和数据表之间的关系。因此稍微复杂一点。建立实体类我建立了两个实体类,一个作者类,一个文章类,其他方法都忽略了,就留下了注解。作者类如下:@Entitypublic class Author { @Id @GeneratedValue(strategy

2017-01-08 22:13:41 877

原创 Hibernate学习笔记 单表映射

建立实体类配置好SessionFactory之后,我们就可以开始建立一对一的单表映射了。首先需要建立一个实体类,这里Getter、Setter、toString、equals等方法省略了。我们可以方便的使用IDEA或者Eclipse的生成代码功能轻松生成。package yitian.data;import java.util.Date;public class User { private

2017-01-07 23:48:04 477

原创 Gradle项目中文乱码的解决办法

最近一直在学习使用Gradle项目构建工具,但是一直遇到一个问题就是中文乱码,比如将易天乱码成了鏄撳ぉ,经过研究我发现这正是将UTF-8编码识别为GBK编码出现的现象。经过一番查阅,解决办法就是在build.gradle文件中添加如下一段,rhGradle将文件识别为UTF-8编码。当然,这需要你的项目文件本来就是UTF-8编码的,如果默认是GBK编码,就不需要更改。tasks.withType(J

2017-01-07 16:29:20 47260 14

原创 Hibernate学习笔记 搭建开发环境

前面已经介绍了Hibernate的一点知识,现在我们来一步一步开发Hibernate程序来学习。在这里我使用IDEA作为开发工具,Gradle作为项目构建工具。当然在实际中不一定必须使用这两个工具,我们可以选择自己习惯使用的工具。只要正确的添加了Hibernate相关类以及数据库驱动,我们就能正确的运行Hibernate程序了。新建项目使用IDEA新建一个Gradle项目,新建之后,在build.g

2017-01-06 01:09:10 626

原创 Gradle学习笔记 使用插件

前面说了不少内容,但是我看了一下Gradle官方文档内容太多太详细。其中大部分内容其实我们不需要知道。一般情况下我们应用一部分插件就可以了。自己编写Gradle任务的情况并不多见。Java插件在build.gradle文件中添加以下一句,即可启用Java插件。Java插件用于构建普通的Java项目。apply plugin: 'java'Java项目应该包括以下文件夹: 文件夹 含义 sr

2017-01-05 00:28:28 2083

原创 Gradle学习笔记 依赖管理

定义依赖下面我们在build.gradle中添加如下一段。apply属于插件的部分,我们到后面再说。现在先来看一下Gradle中的依赖管理,有两个部分,repositories和dependencies。下面来逐一说明。apply plugin: 'java'repositories { mavenCentral()}dependencies { compile group: 'o

2017-01-04 20:41:48 699

原创 Gradle学习笔记 使用Gradle Wrapper

Gradle可以在没有安装Gradle的情况下使用,这时候就需要Gradle Wrapper了。Gradle Wrapper其实就是一个脚本文件,它会在没有安装Gradle的情况下为我们下载Gradle,之后我们就可以使用gradlew命令,像使用gradle一样来使用Gradle了。但是对于我们天朝用户来说,不管是Gradle还是Gradle Wrapper,都需要网络代理才能以较高的速度下载。创

2017-01-04 00:00:51 21190 4

原创 Gradle学习笔记 Gradle命令行

执行多个任务安装好Gradle之后,就可以使用Gradle命令行了。首先我们先新建一个文件夹gradle-learn,然后在其中新建一个build.gradle,这是Gradle的项目构建文件。task compile { doLast { println 'compiling source' }}task compileTest(dependsOn: compil

2017-01-03 23:36:58 10459

原创 Gradle学习笔记 Gradle介绍和安装

Gradle介绍Gradle是一个现代的项目构建工具。如果你使用过Maven的话,就会明白项目构建工具的优点。但是Maven有一些缺点。由于Maven使用的是xml语言描述项目,虽然描述非常清晰,但是如果在pom.xml中配置一些插件的话,就会出现一个非常冗长的pom.xml,严重影响可读性以及pom.xml的维护性。Gradle使用的是DSL语言,所以描述非常简洁。比如,我们要在项目中添加Hibe

2017-01-03 21:33:25 773

原创 Hibernate学习笔记 开始学习

Hibernate简介Hibernate是一个优秀的对象关系映射(ORM)框架。如果你有使用纯JDBC写过一个类似博客之类的小程序的话,就知道编写JDBC语句以及转化结果集为Java对象是一件非常繁复的事情。利用Hibernate这样的ORM框架,事情就非常简单了。Hibernate需求Hibernate官网如下:http://hibernate.org/orm/ 。我们可以看到除了ORM框架之外,

2017-01-03 21:02:03 360

Matlab R2017b破解工具

Matlab R2017b破解文件,亲测可用

2017-12-25

Spring Boot小例子程序

pring Boot例子小程序,这是可执行的jar文件,使用java -jar XXX.jar 命令运行。 如果使用gitbash这样的类linux终端,还可以看到彩色的输出。 注意这只是个可执行文件,不包含源代码。源代码在这里https://code.csdn.net/u011054333/spring-boot-sample/tree/master。 由于CSDN资源上传之后无法修改,所以一切以代码为准。

2017-03-20

JSTL 核心标签库小例子

JSTL 核心标签库小例子,包含了集中最常见JSTL标签的使用方法。

2017-01-22

纯Servlet和JSP实现的博客小程序

纯Servlet和JSP实现的博客小程序,用到的第三方类库只有JSTL和MySQL驱动。功能有用户注册、登录,用户修改信息、新建、更新博客,添加评论。系统需求;JDK1.8、MySQL数据库、Tomcat8或者其他支持Java EE 7的服务器

2017-01-22

JSP分页小例子

JSP 分页小例子,演示了最简单的分页和MySQL数据库分页。需要JDK8和MySQL5.7运行例子。开发工具Eclipse或IDEA均可。用相应的开发工具新建项目,然后将代码复制进去即可。

2017-01-20

Hibernate查询练习小例子

利用MYSQL数据库提供的样例数据库world建立的查询小例子。已经建立好了数据库对应的实体类,打开之后直接在项目中练习查询就行。Hibernate和JPA方式都有了。 项目需求: 1. jdk8(因为用到了lambda表达式)。 2. Eclipse或者IDEA开发环境,推荐IDEA,因为我就是用IDEA做的这个。 3. Gradle或Maven构建工具。Gradle最好,没有的话需要自己建一个Maven项目,然后查找build.gradle中dependencies里面那些依赖,加到pom文件里面。 4. MYSQL数据库。没有安装样例数据库的话,我已经把SQL文件也放进去了。导入一下就可以。 本项目主要是为了练习使用Hibernate查询数据库。如果有什么问题可以发站内信或者邮件asddf14@hotmail.com。我会尽量解答一下~~~

2017-01-11

Hibernate Validator 小例子

Hibernate Validator的小例子,演示了最常用的几个注解以及验证方法,还是用了自定义的验证信息。 项目需求:Gradle构建工具,Eclipse或IDEA开发环境。

2017-01-10

Hibernate查询小例子

利用MYSQL数据库提供的样例数据库world建立的查询小例子。已经建立好了数据库对应的实体类,打开之后直接在项目中练习查询就行。 项目需求: 1. jdk8(因为用到了lambda表达式)。 2. Eclipse或者IDEA开发环境,推荐IDEA,因为我就是用IDEA做的这个。 3. Gradle或Maven构建工具。Gradle最好,没有的话需要自己建一个Maven项目,然后查找build.gradle中dependencies里面那些依赖,加到pom文件里面。 4. MYSQL数据库。没有安装样例数据库的话,我已经把SQL文件也放进去了。导入一下就可以。 本项目主要是为了练习使用Hibernate查询数据库。如果有什么问题可以发站内信或者邮件asddf14@hotmail.com。我会尽量解答一下~~~

2017-01-10

C#所有系统信息

C#获取所有系统信息的例子,使用WinForms写成。原文链接在这里,需要登录才能下载。具体类的用法原文有。其实也就是那么回事,调用WMI获取信息嘛。

2016-05-19

JAVA EE Ajax小例子

Java EE的一个Ajax小例子,使用了jQuery做的Ajax GET和POST例子。还用到了Hibernate。

2016-04-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除