Java开发技术分享
文章平均质量分 61
与广大的Java开发者分享本人在项目实战中涉及的技术、案例和解决方案,主要包括Java基础,SSH框架,SpringMVC,网络编程,数据库编程,RESTful接口设计,WebService等Java相关技术,与大家一起共同进步,成为优秀的程序员。
乞力马扎罗的雪CYF
一只不孤独的猿。
展开
-
Spring Converter入门之字符串转化为枚举
Converter是Spring3中引入的一项比较特殊的功能,其实就是一个转换器,可以把一种类型转换为另一种类型。尤其是在web项目中比较常见,可以对接口的入参做校验,把前端的入参的类型转换后为后端可以使用的类型。如常常用来做类型转换、字符串去空、日期格式化等。在Spring3之前进行类型转换都是使用PropertyEditor,使用PropertyEditor的setAsText()方法可以实现原创 2017-10-15 18:10:11 · 4044 阅读 · 1 评论 -
java.lang.NoClassDefFoundError:com/sun/tools/javac/code/TypeTags
在开发基于Maven的web项目时,可能会出现标题中的异常,详细的异常描述如下:Can`t initialize javac processor due to(most likely) a class loader problem:java.lang.NoClassDefFoundError:com/sun/tools/javac/code/TypeTags 。解决的办法非常简单,在pom文件中删原创 2017-09-30 22:23:43 · 7713 阅读 · 1 评论 -
java.lang.Exception: No runnable methods
在Java项目中使用junit单测时,可能会出现如下低级的错误:这是因为在单测方法前没有加@Test。。。原创 2017-09-30 22:31:05 · 3068 阅读 · 0 评论 -
java.lang.NoSuchMethodError: javax.servlet.ServletContext.getContextPath()Ljava/lang/String;
在开发基于Maven的web项目时,经常会出现如下问题:出现该问题一般都是有冲突的包依赖。可以查看pom.xml,可能会有不同版本的同一个依赖。原创 2017-09-30 22:40:20 · 1598 阅读 · 0 评论 -
IDEA清除缓存
IDEA有时候会发生一些诡异的问题,比如修改不生效等。程序员都知道,重启是万能的,在IDEA中也是一样,可以在IDEA中尝试清除缓存并重启。一般选择最后一个,使缓存失效后重启。原创 2017-09-30 22:50:42 · 3435 阅读 · 0 评论 -
@Override is not allowed when implementing interface method
最近写代码发现很奇怪的一个bug,提示编译错误,“@Override is not allowed when implementing interface method”。详细的代码描述如下: 但是实现的方法中确实是可以重写的,代码本身并不会有错,那就肯定是配置的原因,解决方案为: 把Language level语言级别调到6及以上一般就没问题了,如果这个问题在多个modul原创 2017-08-30 00:01:17 · 3118 阅读 · 0 评论 -
IntelliJ IDEA中多module项目架构开发
在《Android Studio中的Project和Module是个什么鬼?》这篇博客中我详细介绍了在Android Studio中project和module的区别,由于AndroidStudio本身就是基于IntelliJ来进行开发的,所以在IDEA中product和module概念也是一致的,这里不再赘述。 一般我们比较小型的项目都可以使用单module的方式进行开发,但是当项目原创 2017-08-29 23:36:18 · 10121 阅读 · 0 评论 -
Maven打包异常:Exception in thread “main” java.lang.UnsupportedClassVersionError:org/apache/maven/cli
当我们在使用Maven命令行打包的时候可能会出现标题中的问题,错误的详细描述如下:Exception in thread “main” java.lang.UnsupportedClassVersionError:org/apache/maven/cli/MavenCli:Unsupported major.minor version 51 这是由于Maven中指定的jdk版本和项目开原创 2017-08-29 22:34:12 · 4390 阅读 · 0 评论 -
Maven:Failed to create a Maven project ‘…pom.xml’ already exists in VFS 解决
有时候我们在创建Maven项目的时候会出现上述的问题,导致Maven项目创建失败,报错的提示如下: 这往往是由于我们在同一个目录中创建了Project Name相同的项目导致的。因为在同一目录下不能创建两个Project Name相同的Project。 所以在Mac下我们可以直接把原先的那个Project删除后,再想创建一个Project Name一样的,发现还是会出现该问原创 2017-06-25 18:47:53 · 35344 阅读 · 9 评论 -
Java Web框架play framework的下载与环境变量配置
Web项目的开发有着众多的框架,最近刚刚接触了play, 对于一个Java开发人员来说,play是一个不可多得的好框架。下面我简单介绍下如何下载play ,以及play的环境变量配置方法。(1)原创 2015-07-22 14:34:24 · 5532 阅读 · 4 评论 -
Java开发基础——JSON数据的构造与解析(二)
在我们的第一篇博客《Java开发基础——JSON数据的构造与解析》中我们使用FastJSON这个包来对JSON字符串做解析,使用起来非常方便,但是在实际使用中,FastJSON还需要做很多事情,比如对象与JSON字符串的转化,JSON与List等集合对象的转换等,该篇博客将会来使用FastJSON更细节的功能。JSON字符串数组转化为JSONArray其实JSON.parseArray的功能和JS原创 2017-06-24 23:31:21 · 3444 阅读 · 0 评论 -
IDEA中JRebel插件的安装与激活
JRebel是Java项目开发中一个非常优秀的热部署方案,目前已经有较为广泛的使用,能大大提高项目的开发效率。在IDEA中能很好的集成JRebel插件,但是由于这是一个收费的插件,所以我们要想办法免费来使用。本文会详细来讲解在IDEA中JRebel插件的安装与激活,在之后的博客中会详细来讲解JRebel的使用。进入IDEA->Preference->Plugins->Browse reposito原创 2017-06-24 19:06:17 · 26272 阅读 · 2 评论 -
Java开发基础——Maven入门
Maven是目前Java开发中最常用的必备工具之一。Maven可以用来构建项目、依赖管理、配置管理、发布管理、文档编制、报告等功能。从本篇博客开始,我们会详细的来学会Maven的使用。 Maven的官方下载地址为:http://maven.apache.org/download.cgi 。选择下面的一个版本安装即可:把下载的Maven放到一个目录下,解压缩Maven就等于安装成功了。原创 2017-04-24 23:18:45 · 3596 阅读 · 2 评论 -
使用正则表达式判断字符串是否为MAC地址
今天Boss给了一个小任务,要求给定一个字符串,判断该字符串是否是MAC地址,并用Java和正则表达式实现。于是我顺便百度了下MAC地址,并在cmd下使用getmac获取本机的MAC地址,了解了一点后,就用Java实现了。为了方便测试与输入输出,选择使用Android作为UI交互。反正都是用Java,对于这个问题,一个Java项目和Android区别不大。 首先看一个MAC地址:4原创 2015-07-16 23:25:41 · 23790 阅读 · 0 评论 -
Eclipse开发Android,Java项目快捷键技巧
工欲善其事必先利其器,在IDE中开发软件很重要的一个步骤就是快捷键的设置,设置了自己最熟悉的快捷键,开发效率将会大大提升。该篇帖子说说我的Eclipse快捷键设置。我常用的Eclipse快捷键如下:(1)Ctrl+C Ctrl+V:这个不说了,你懂的;(2)Ctrl+原创 2015-07-17 08:29:18 · 2615 阅读 · 1 评论 -
使用正则表达式提高用户密码的复杂度和安全性
大家很多都碰到这样的情况,在注册某些网站的账号时,都要求你的密码不能全是数字或是英文。最典型的就是Apple ID,必须要求是至少有数字、大写字母 和小写字母三种形式;其他比如还有淘宝账号,至少是某几种类型的组合。这从一定程度上使密码变得复杂,同时也变得安全,使别人更难以破解。这种功能的实现一般是使用正则表达式来进行检查,对用户输入进行控制。 具体需求如下:现在要求用户注册时的密码原创 2015-07-20 14:44:16 · 7502 阅读 · 0 评论 -
Java最大的优势真的在于跨平台吗?
有跨平台需求的仅仅是客户端应用,而不是服务端。例如桌面应用,你的客户可能是Windows用户,也可能是Linux用户,这时候如果不想多投入成本对各个平台进行适配,那么Java所谓的”Write once, run everywhere”就显得异常光彩。然而今天,整个软件世界都在向B/S应用倾倒(嵌入式除外),即使要做客户端跨平台,QT等第三方框架远远比Swing更强大,Java在桌面应用领域基本被转载 2015-09-26 00:40:17 · 2487 阅读 · 0 评论 -
学习java的路线图-五个必经阶段
第一个阶段-java基础阶段1.java语法2.面向对象3.常用的api4.界面编程5.多线程6.文件io7.java网络编程..这是学习java开发的基础阶段,也是以后的学习基石。第二个阶段 -数据库阶段1.oracle2.mysql3.sql server目前中国软件公司用的最多的三大主流数据库是sql server,my转载 2015-09-28 00:01:38 · 2790 阅读 · 1 评论 -
Java开发基础——数组、List与Map的使用
在Java中可以定长的来初始化一个数组,并可以使用下标index来赋值或取值,使用非常方便。示例代码如下: Object[] objects = new Object[2]; objects[0] = 100; objects[1] = "chen"; System.out.println("objects:" + objects);原创 2017-04-02 20:51:34 · 3136 阅读 · 0 评论 -
Java开发基础——JSON数据的构造与解析
JSON是我们在数据传输中最常用的格式,一般在RESTful的接口设计中返回的一般都是JSON。在Java中经常要来完成数据解析的任务。本文就来实现如何在Java中如何解析JSON。 这里我们使用的工具是Alibaba的FastJSON,根据官方说明,FastJSON基本是解析最快的包了。开发者使用起来也是非常方便。本文使用Maven来管理包依赖,在pom.xml中加入以下依赖:原创 2017-04-02 21:54:21 · 2032 阅读 · 0 评论 -
Java开发基础——HttpClients与网络请求
Java开发中,经常会需要访问网络资源,一般都是使用http协议去进行访问。进行网络访问最简单的方式就是使用apache提供的HttpClients包。在该篇博客中,我会来实现使用HttpClients来进行GET请求和POST请求。下面是使用GET请求访问"http://www.baidu.com"网站:public void get() { CloseableHttpClien原创 2017-04-03 16:00:08 · 5414 阅读 · 1 评论 -
Java开发基础——配置文件的写入与读取
在实际的项目开发中,配置文件是一个非常重要的工具,我们可以把全局的配置写入文件,然后在需要的时候再取出来。且在项目的任何位置都可以使用,非常方便。可以把配置文件理解为一个临时性的数据库。在IDEA中,配置文件的后缀为properties。本篇博客将会来演示在Java中配置文件的写入与读取:配置文件如下图所示: 我们一般把配置文件放入到resource文件夹中,作为一种资源文件。在IDEA原创 2017-04-03 16:49:23 · 4228 阅读 · 0 评论 -
Java开发基础——制作jar包
在我们实际开发项目中,会引入很多的外部jar包,这些jar包都是别人封装了很多的方法,极大的方便了我们的程序开发。其实我们自己也可以制作属于自己的jar包,来供自己或他人使用。本篇博客将会来详细的说明来制作一个简单的jar包。(1)首先我们建议使用Maven来管理我们的包依赖。这里也会使用Maven来进行打包。首先我们创建一个基于Maven的Java项目,使用的IDE是IDEA。项目创建完成后的目原创 2017-04-03 17:57:05 · 6604 阅读 · 0 评论 -
SpringMVC开发——第一个SpringMVC项目
SpringMVC目前是非常成熟的一套框架,也是很多后端采用的框架之一。从本篇博客开始,我们将会一起来进行SpringMVC的学习和开发。推荐使用的IDE是IDEA,主要我们会使用Maven进行包管理,Tomcat作为服务器。本篇博客作为SpringMVC的入门,将会使用IDEA来创建一个SpringMVC项目。(1)打开IDEA开发环境,选择Create New Project。(2)然后在左侧原创 2017-04-04 10:04:59 · 5068 阅读 · 0 评论 -
SpringMVC开发——实现第一个RESTful接口
SpringMVC最主要的一个功能就是设计接口,并提供给其他应用程序访问,如前端客户端等。RESTful接口是一种接口设计风格,也是一种设计规范,目前在项目开发中已经越来越流行。比如RESTful建议请求需要区分GET、POST、PUT等;返回的数据建议是JSON;网络协议使用https;请求url包含版本号等等。在本篇博客中,我们将会基于SpringMVC框架来设计第一个RESTful接口。本文原创 2017-04-04 10:23:13 · 19252 阅读 · 8 评论 -
SpringMVC开发——使用Swagger搭建接口请求页面
Swagger是一款RESTful接口的文档在线自动生成模板和页面,使用和平台以及语言无关。目前在很多公司以及实际项目中大量用到。可以把Swagger理解为接口文档,后台写好的代码可以直接生成前端接口文档页面,接口调用这可以通过这个页面发送接口请求,进行接口测试或调用。使用起来非常方便。使用了Swagger之后,就不需要再去维护其他的接口文档了,节省了很多的成本。本文使用的项目案例上传至 htt原创 2017-04-04 20:47:16 · 6455 阅读 · 1 评论 -
SpringMVC开发——Hibernate与MySQL入门
在Java的项目开发中,数据库是一个很重要的模块,Hibernate作为一个非常成熟的框架,在Java的开发中十分流行。本篇博客将会来介绍在SpringMVC项目中如何使用Hibernate,使用的数据库是MySQL。建议在开发之前首先在电脑上安装好MySQL数据库、MySQLWorkbench可视化工具。本文的示例代码上传至 https://github.com/chenyufeng1991/原创 2017-04-04 22:25:27 · 2823 阅读 · 0 评论