0%

Apache POI 官网:http://poi.apache.org/

POI 是什么?

POI 是 Apache 软件基金会开源的项目,根据官网的解释,POI提供了操作Office Open XML (OOXML)标准和微软 OLE 2 Compound Document (OLE2)格式文档的接口。OLE2 文件包括微软office 中的 xls、doc、ppt 文件,ooxml格式是新的格式标准,包含 xlsx、docx、pptx 文件。

简单来说,POI 让你能用 java 读/写 Excel、Word、PPT文件。

POI 的组件:

组件名 应用 类型
POIFS OLE2 文件系统
HPSF OLE2 属性集
HSSF Excel xls
HSLF PowerPoint ppt
HWPF Word doc
HDGF Visio vsd
HPBF Publisher pub
HSMF Outlook msg
DDF 埃舍尔通用图纸
HWMF WMF图纸
OpenXML4j OOXML
XSSF Excel xlsx
XSLF PowerPoint pptx
XWPF Word docx
XDGF Visio vsdx
Common SL PowerPoint ppt和pptx
Common SS Excel xls和xlsx

参考地址:http://poi.apache.org/overview.html

阅读全文 »

什么是 SpringBoot ?

官网:http://projects.spring.io/spring-boot/

简单来说,SpringBoot 的出现是为了简化Spring项目的创建、运行、调试、部署过程,boot的意思是启动、引导,整体来说就是快速启动 Spring。springboot 并不是一个新的框架,它只是spring的一个封装,从根本上讲就是一些库的集合,帮助开发者快速构建spring 项目,项目里面还是使用 spring 框架实现,所以 Spring 能做的,SpringBoot 也能做,而且做的更方便、快捷。

在使用 Spring 开发的时候,写项目时有伴有大量的 xml 配置文件要编写,随着快速开发的流行,这种方式已经不能满足需要了,springboot 的出现帮我们简化了项目配置,同时提供了很多注解,让我们编码也变得简单了。SpringBoot 简化了配置,不用再写 xml 了 ,传统 Spring 项目的 xml 配置文件被转化成 java config,直接利用 @Autowire 注解注入 Bean,而环境变量中的 properties、xml 文件集中到一个application.yml中。同时,SpringBoot 使项目部署变得简单,传统的Spring项目需要外部的 tomcat 容器来运行,而在springboot 中已经集成了 tomcat ,我们将项目打包成一个 jar 包,直接通过 java -jar xxx.jar 就可以运行项目,这也方便后续使用 docker 。

SpringBoot 能够使我们更加专注于业务逻辑的开发,只需记住 Just run 就可以了,那怎么创建一个 SpringBoot 项目呢?话不多说,还是先上个 demo 尝尝味道吧!全文里介绍了一个 SpringBoot 项目从创建到测试运行,再到打包部署的全过程。

阅读全文 »

写在前面的话:这篇文章中使用的 jhipster 版本是 3.12.2 ,还是使用 yo 来构建的,在最新版本中已经不需要使用 yo 了,创建实体的过程也有一些差异。

JHipster 核心 —— 创建实体(Create Entity)

当你创建好一个项目后,你下一步要做的可能就是添加实体了,对于每个实体,你都需要下面这些内容:

  • 一张数据库表;
  • 一个 Liquibase 修改集;
  • 一个 JPA 实体;
  • 一个 Spring Data JPA 仓库对象;
  • 一个 spring MVC 的控制器,实现了基础的增、查、删、改方法;
  • 一个 Angular 路由、组件和server;
  • 一个 html 展示页面;
  • 集成测试来验证所有东西是否正确运行;
  • 性能测试来验证所有东西是否允许流畅;

如果你有多个实体,那实体之间可能还有相互关联,因此,还需要:

  • 数据库外键关联;
  • 特殊的 JS 和 html 代码来管理这些关联关系

然而以上内容,只需要我们执行一个指令回答几个问题就可以搞定了,JHipster 一下帮我们写了几百行代码,怎么样,想不想学学这种操作?

阅读全文 »

2019-03-16 如果自己有服务器,可以自己搭建一个内网穿透服务,参考: 使用云服务器搭建 frp 服务实现内网穿透

在学会了web服务器开发之后,愉(tong)快(ku)的写好了一个网站,在本地跑起来了,想给小伙伴演(zhuang)示(bi)一下,但这时小伙伴并不在身边,发出去的链接都访问不了,唉~

但是自从用了 ngrok 之后,腰不酸了,腿不疼了,一口气上六楼也不费劲了~ 啊呸,错了,自从用了 ngrok,远在天涯的小伙伴也能预览我本地的 web 项目了,啊哈哈哈哈哈哈隔~

首先,ngrok先自我介绍一下,大家欢迎!(掌声)

大家好,我是ngrok,我是一个反向代理,我可以帮助你在公共端点和本地运行的web服务器建立安全的连接,这样你的朋友在外网也可以访问你本地运行的web服务了,另外在本地开发微信服务的时候,我可以帮你哦!
这是我家:https://ngrok.com/
我说完了,谢谢!

阅读全文 »

概述

初步接触 AngularJS ,这篇文章记录了学习 AngularJS 的一些心得,文章内容包括 AngularJS 的特点以及简单的使用示例。

第一个 Demo 体验 Angular 的双向数据绑定

1
2
3
4
5
6
7
8
9
10
11
12
13
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://javascript.qiniu.wqf31415.xyz/angular/angular.min.js"></script>
</head>
<body>
<div ng-app="">
<p>名字 : <input type="text" ng-model="name"></p>
<h1>你好,{{name}}</h1>
</div>
</body>
</html>
阅读全文 »

写在前面的话:这篇文章是 2017 年 4 月刚接触 jhipster 时写的,当时的版本比较低,springboot 还是使用 1.x,angular 还是使用 1.x ,现在的版本已经更新换代好几次了,下面的方法还可以用,但有些依赖包可能需要更新。此外,下面内容对应的官网文档可以访问一下地址,查看 jhipster 历史文档:

https://www.jhipster.tech/documentation-archive/

JHipster 是什么?

摘要:初次接触 JHipster ,认识它是什么,并创建一个 demo 项目来体验一下。

JHipster 是什么?能吃吗?

下定义

根据官方自己的描述:JHipster就是一个用来创建 Spring Boot - Angular 项目的 Yeoman 代码生成器。

简单的说 JHipster就是一个代码生成器 ,帮我们自动生成一个 java web 项目源码,后台使用 Spring Boot ,前端使用 Angular 。

阅读全文 »

摘要:本篇文章讲解在 windows 系统下,本地安装配置 Tomcat 服务器!

从官网下载 Tomcat8.5

官网地址:http://tomcat.apache.org/

下载 Tomcat 8.x :http://tomcat.apache.org/download-80.cgi

对于 windows 系统,我们可以下载二进制文件压缩包,或者安装程序,对于新手来说,建议直接下载安装程序,双击执行,根据提示一步一步操作即可,没什么难度。但是,我们这次偏要选择下载 zip 压缩包,先苦后甜。

阅读全文 »

问题描述

  1. 系统使用hibernate连接数据库;
  2. 启动服务器后,数据库操作正常,但时间超过8小时后,后台访问数据库时总是报错:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received
    from the server was 46,218,269 milliseconds ago. The last packet sent successfully to the
    server was 46,218,270 milliseconds ago. is longer than the server configured value of
    ‘wait_timeout’. You should consider either expiring and/or testing connection validity before
    use in your application, increasing the server configured values for client timeouts, or using
    the Connector/J connection property ‘autoReconnect=true’ to avoid this problem.

原因

  • Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该 connection。而hibernate获取连接的时候认为连接池里的这个连接还是有效的,所以就拿来使用,这时候就报错了。

阅读全文 »

摘要:Git是现今世界上最先进的分布式版本控制工具。这篇文章主要介绍了什么是Git,如何安装以及简单的使用Git。

git

官方说明文档:https://git-scm.com/book/zh/v2

1 什么是git?

一句话:git是现今世界上最先进的分布式版本控制工具

简单点:git是分布式版本控制工具

再简单点:git是版本控制工具

阅读全文 »

摘要:这篇文章详细讲解了利用 nodejs + hexo + github 搭建个人静态博客的操作步骤,尽可能描述得简单详细,目的是让每一个人,不管会不会编程都能照葫芦画瓢的搭建好自己的博客。

题外话:说说我为什么要建立这个博客,一是为了学(zhuang)习(bi),拥有一个自己的个人域名,在浏览器一打开,就是一个外观精美,内容丰富的网站,想想还有点小激动呢!第二是为了给自己的成长做一个见证,回忆起在过去的几年里,发现好像没有太多的东西留下了,感觉自己正在恍恍惚惚中度过了青年时光,这可不行,为了将来老了,能够坐在摇椅上慢慢聊,必须把成长的脚印的记录下来!第三是想写点东西,记得在高中的时候,语文写作还是班级前几名,而现在提起笔却什么都写不出来,不免有些伤感,于是决定闲暇时还是开始写点小文章,记录点感悟!第四是想把博客作为一个学习的笔记本,记录下学过的东西,以便在用到的时候可以随时翻出来看看,因为挂在网上,所以随时可以查阅非常方便!第五……等等一系列原因导致我想建立这个博客。

闲话少扯,下面开始办正事!!!

阅读全文 »