来源 :公众号 | 作者 :Hollis

作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。

Hollis偏爱使用在线工具,因为个人觉得这样比较方便。本文就总结了一下我常用的在线工具。欢迎纠正及补充。

Java源代码搜索

http://grepcode.com/

Grepcode是一个面向于Java开发人员的网站,在这里你可以通过Java的projects、classes等各种关键字在线查看它对应的源码,知道对应的project、classes等信息。 更方便的是,能提供非常多不同版本的源码在线查看、jar包、源码jar包、doc的下载。 同样,你也可以之间使用xxx-1.1.1.jar类似这样的名字直接找到对应的jar包,从而下载。

开源代码及文档搜索

https://searchcode.com/

SearchCode 是一个源码搜索引擎,目前支持从 Github、Bitbucket、Google Code、CodePlex、SourceForge 和 Fedora Project 平台搜索公开的源码。

电子书搜索

https://www.jiumodiary.com/

鸠摩搜书是一个比较不错的电子书搜索网站。内容也比较全。

网盘资源搜索

http://pansou.com/

这个大家都懂的,可以通过这个网站搜索百度网盘上面的各种资源。

无版权图片搜索

https://unsplash.com

不知道有没有人和我一样,经常需要一些无版权的图片,比如公众号配图。

unsplash是我用过的最好的网站,不需要登录,图片很高请,也比较全。唯一的缺点就是需要英文搜搜。

在线UML制图

https://www.processon.com/

ProcessOn是一个在线协作绘图平台,为用户提供最强大、易用的作图工具!支持在线创作流程图、BPMN、UML图、UI界面原型设计、iOS界面原型设计等。

Json在线验证及格式化

https://www.json.cn/

我用过很多json在线格式化的工具,经过实践,json.cn是比较不错的,不仅支持json格式的验证及格式化,还可以将json格式压缩成普通文本等好用功能。

Diff Check

https://www.diffchecker.com/

使用过svn或者git的人对diffcheck肯定不陌生,但有时候我们修改的文本内容并没有被版本控制,那么就可以使用在线的网站查看文件的修改情况。diffchecker很不错。

MarkDown编辑器

MaHua :http://mahua.jser.me/

马克飞象 :https://maxiang.io/

Cmd :https://www.zybuluo.com/mdeditor


以上这几个我都用过,都还好吧,因为我一般都喜欢把自己写过的东西保存下来,所以就用了客户端的,我是用的是MacDown

Maven依赖查询

http://mvnrepository.com/

mvnrepository这个不用详细解释了,就是查询maven的gav信息一类的。因为我们公司有内部的Nexus仓库,所以很少用这个。

在线代码运行

https://tool.lu/coderunner/

coderunner可以在线运行php,c,c++,go,python,java,groovy等代码。当我们在外面,没有IDE又想执行个小程序的时候是个不错的选择。

在线翻译

Google翻译 :https://translate.google.cn/

百度翻译 :http://fanyi.baidu.com/

有道翻译 :http://fanyi.youdao.com/


说不出具体哪个好,其实都不太准确,还是需要自己根据语境进行翻译。

不过忍不住吐槽一句国内的这几个翻译网站,既然是做翻译的,域名竟然用拼音,我也是醉了。

SQL自动生成Java代码

http://www.autojcode.com/code/sql2class.jsp

AutoJCode可以从sql的建表语句中生成一个DO类。

json生成java类

http://www.bejson.com/json2javapojo

json是目前JavaWeb中数据传输的主要格式,很多时候会有把json转成Java对象的需求。有时候合作方会提供一个json的样例,需要我们自己定义Java类,这时候这个工具就派上用场了。

SQL美化/格式化/压缩

https://tool.lu/sql/


sql在线美化,格式化,压缩:

编码转换

http://tool.chinaz.com/tools/unicode.aspx

站长工具的编码转换比较全面,提供了Unicode编码、UFT8编码、URL编码/解码等功能。

Corn表达式生成

http://www.pdtools.net/tools/becron.jsp

Cron 一般用于配置定时任务的执行。

正则验证

http://tool.chinaz.com/regex

Java开发对正则表达式肯定不陌生。站长工具提供的正则验证还不错。

正则代码生成

http://tool.chinaz.com/tools/regexgenerate

站长工具提供的正则代码生成。可以一键生成身份证号、邮箱、手机号等验证的正则表达式。

时间戳转换

http://tool.chinaz.com/Tools/unixtime.aspx

时间戳(英语:Timestamp)是指在一连串的资料中加入辨识文字,如时间或日期,用以保障本地端(local)资料更新顺序与远端(remote)一致。

Java中很多地方都会用到时间戳,也经常会使用这种转换工具。

世界时间转换

http://www.timebie.com/cn/easternbeijing.php


世界各地时间转换,我之前做国际业务的时候,比较常用的是北京时间转纽约时间,北京时间转洛杉矶时间。 timebie提供了世界时间相互转换的功能。

加密解密

http://tool.chinaz.com/tools/textencrypt.aspx

加密解密也是JavaWeb可能会经常遇到的,有的时候我们需要验证加密算法是否正确,或者要解密等场景,就需要一个在线工具。

查看网页源代码

http://s.tool.chinaz.com/tools/pagecode.aspx

这个工具,可以输入一个网站,直接查看网站的源码。具体有什么用,大家可以发挥各种想象。

单位换算

https://www.convertworld.com/zh-hans/

convertworld是一个比较全的单位换算的网站。我经常用它进行时间单位和货币单位的换算。

在线调色板

http://tool.chinaz.com/Tools/OnlineColor.aspx

这个对前端开发比较有用,可以在线调色。

ASCII ART生成

http://patorjk.com/software/taag/

常用对照表

ASCII对照表 : http://tool.oschina.net/commons?type=4

HTTP状态码 : http://tool.oschina.net/commons?type=5

HTTP Content-type : http://tool.oschina.net/commons

TCP/UDP常见端口参考 : http://tool.oschina.net/commons?type=7

HTML转义字符 : http://tool.oschina.net/commons?type=2

RGB颜色参考 : http://tool.oschina.net/commons?type=3

网页字体参考 : http://tool.oschina.net/commons?type=8

文末福利:

内容提要

《Spring MVC+MyBatis开发从入门到项目实战》分为4篇。第1篇是Java开发环境的搭建,包括JDK的下载与安装、环境变量的配置、MyEclipse的下载与基本配置。第2篇是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景介绍、入门程序的编写、配置文件的剖析、高级映射及缓存结构的讲解,最后还介绍了MyBatis与Spring框架的整合。第3篇是Spring MVC技术入门,包括Spring MVC的背景介绍、架构整体剖析、环境搭建、处理器与映射器的讲解、前端控制器的源码分析、多种视图解析器的介绍、请求映射与参数绑定的介绍、Validation校验与异常处理和拦截器的讲解。第4篇是Spring MVC与MyBatis的项目整合实战,通过对水果网络销售平台的需求分析、功能设计、数据库设计以及模块详细编码实现,让读者了解整合项目开发的整体流程。

《Spring MVC+MyBatis开发从入门到项目实战》对框架的介绍通俗易懂,由浅入深,结合实例展示,为读者的入门提供了有力的帮助,且为以后的技术提升打下坚实的基础。《Spring MVC+MyBatis开发从入门到项目实战》适用于拥有Java基础的软件开发人员学习框架开发,也适用于大中专院校在校师生学习开发技术,以及软件从业实习生提升框架开发技术水平,也可作为高等院校计算机及相关专业教材使用。

目录

第1篇 准备工作

第1章 开发环境搭建 2

1.1 JDK安装与配置 2

1.1.1 下载JDK 3

1.1.2 安装JDK 4

1.1.3 JDK环境变量配置 4

1.1.4 验证Java环境是否搭建成功 6

1.2 MyEclipse的安装与使用 7

1.2.1 MyEclipse的下载 7

1.2.2 MyEclipse的配置 8

1.3 第一个Java类 10

第2篇 MyBatis技术入门

第2章 了解MyBatis 14

2.1 传统JDBC开发模式的缺陷 14

2.1.1 JDBC连接数据库模式分析 14

2.1.2 JDBC操作SQL语句模式分析 16

2.1.3 待优化的问题 17

2.2 初识MyBatis 18

2.2.1 MyBatis介绍 18

2.2.2 MyBatis整体架构 18

2.2.3 MyBatis运行流程 21

第3章 搭建MyBatis工作环境 23

3.1 入门程序搭建与测试 23

3.1.1 数据库准备 23

3.1.2 搭建工程环境 24

3.1.3 编写日志输出环境配置文件 26

3.1.4 编写数据库连接池配置文件 27

3.1.5 编写SQL映射配置文件 29

3.1.6 编写数据交互类与测试用例 30

3.2 入门程序数据操作 33

3.2.1 模糊查询样例 33

3.2.2 新增样例 34

3.2.3 删除与修改样例 37

第4章 MyBatis配置文件详解 40

4.1 SqlMapConfig配置文件详解 40

4.1.1 properties配置分析 43

4.1.2 setting配置分析 44

4.1.3 typeAliases配置分析 48

4.1.4 typeHandlers配置分析 50

4.1.5 objectFactory配置分析 53

4.1.6 plugins配置分析 56

4.1.7 environments配置分析 58

4.1.8 mappers配置分析 60

4.2 Mapper映射文件 61

4.2.1 映射文件总体介绍 61

4.2.2 Mapper配置输入映射 64

4.2.3 Mapper输入映射样例 65

4.2.4 Mapper配置输出映射 68

4.2.5 Mapper自动映射 75

4.2.6 Mapper配置动态SQL语句 76

第5章 MyBatis高级映射 80

5.1 建立测试数据模型 80

5.1.1 业务模型分析 80

5.1.2 根据业务创建测试表 81

5.2 一对一查询 83

5.2.1 使用resultType实现 83

5.2.2 使用resultMap实现 85

5.3 一对多查询 87

5.3.1 实体类定义与Mapper编写 87

5.3.2 测试查询结果 89

5.4 多对多查询 90

5.4.1 实体类定义与Mapper编写 91

5.4.2 测试查询结果 94

5.5 延迟加载 96

5.5.1 Mapper映射配置编写 96

5.5.2 测试延迟加载效果 97

5.6 Mapper动态代理 99

5.6.1 Mapper代理实例编写 99

5.6.2 测试动态代理效果 100

第6章 MyBatis缓存结构 102

6.1 一级查询缓存 103

6.1.1 一级缓存原理阐述 103

6.1.2 一级缓存测试示例 103

6.2 二级查询缓存 105

6.2.1 二级缓存原理阐述 105

6.2.2 二级缓存测试实例 106

6.2.3 验证二级缓存清空 108

第7章 MyBatis技术拓展 110

7.1 MyBatis与Spring的整合 110

7.1.1 创建测试工程 110

7.1.2 引入依赖jar包 111

7.1.3 编写Spring配置文件 112

7.1.4 编写MyBatis配置文件 114

7.1.5 编写Mapper及其他配置文件 115

7.1.6 编写DAO层 116

7.1.7 编写Service测试类 117

7.1.8 使用Mapper代理 118

7.2 MyBatis逆向工程 121

7.2.1 逆向工程配置 121

7.2.2 逆向数据文件生成类 123

7.2.3 运行测试方法 124

7.2.4 测试生成的数据文件 126

第3篇  Spring MVC技术入门

第8章 Spring MVC 132

8.1 Spring MVC基础 133

8.1.1 Spring体系结构 133

8.1.2  Spring MVC请求流程 134

8.2 Spring MVC与Struts的区别 135

8.3 Spring MVC环境搭建 136

8.3.1 依赖jar包的添加和前端控制器配置 137

8.3.2 编写核心配置文件springmvc.xml 138

8.3.3 编写Handler处理器与视图 140

第9章 处理器映射器和适配器 144

9.1 非注解的处理器映射器和适配器 144

9.1.1 非注解的处理器映射器 144

9.1.2 非注解的处理器适配器 146

9.2 注解的处理器映射器和适配器 151

第10章 前端控制器和视图解析器 154

10.1 前端控制器源码分析 154

10.2 视图解析器 162

10.2.1 AbstractCachingViewResolver 162

10.2.2 UrlBasedViewResolver 162

10.2.3 InternalResourceViewResolver 163

10.2.4 XmlViewResolver 163

10.2.5 BeanNameViewResolver 164

10.2.6 ResourceBundleViewResolver 165

10.2.7 FreeMarkerViewResolver与VelocityViewResolver 167

10.2.8 ViewResolver链 168

第11章 请求映射与参数绑定 169

11.1 Controller与RequestMapping 169

11.2 参数绑定过程 173

11.2.1 简单类型参数绑定 174

11.2.2 包装类型参数绑定 176

11.2.3 集合类型参数绑定 182

第12章 Validation校验 187

12.1 Bean Validation数据校验 188

12.1.1 搭建validation校验框架 188

12.1.2 添加校验注解信息 189

12.1.3 测试validation校验效果 191

12.1.4 validation注解全面介绍 192

12.2 分组校验 193

12.2.1 设置分组校验 193

12.2.2 测试分组校验效果 195

12.3 Spring Validator接口校验 195

12.3.1 Validator接口的使用 195

12.3.2 Validator接口验证测试 199

第13章 异常处理和拦截器 201

13.1 全局异常处理器 201

13.2 拦截器定义与配置 207

13.2.1 HandlerInterceptor接口 207

13.2.2 WebRequestInterceptor接口 209

13.2.3 拦截器链 210

13.2.4 拦截器登录控制 213

第14章 Spring MVC其他操作 217

14.1 利用Spring MVC上传文件 217

14.2 利用Spring MVC实现JSON交互 223

14.3 利用Spring MVC实现RESTful风格 231

14.3.1 RESTful 231

14.3.2 使用Spring MVC实现RESTful风格 232

14.3.3 静态资源访问问题 235

第4篇 Spring MVC与MyBatis项目实战

第15章 项目分析与建模 238

15.1 项目需求分析 238

15.1.1 系统主要使用者业务关系分析 239

15.1.2 系统主要使用者经济关系分析 239

15.2 项目UML图例 240

15.2.1 UML图的类型 240

15.2.2 绘制系统用例图 241

15.2.3 绘制系统模块图 241

15.3 项目数据库建模 242

15.3.1 系统数据关系分析 243

15.3.2 系统主要表设计 243

第16章 开发框架环境搭建 250

16.1 搭建工程的Maven环境 250

16.1.1 Maven下载配置 250

16.1.2 创建Maven工程 252

16.1.3 为工程添加依赖 254

16.2 开发框架基础配置与测试 259

16.2.1 开发框架环境配置 259

16.2.2 测试环境配置结果 266

第17章 核心代码以及登录模块编写 277

17.1 各层核心基础代码 277

17.1.1 编写DAO层核心代码 277

17.1.2 编写Controller层核心代码 279

17.2 登录注册管理模块 280

17.2.1 编写登录模块 280

17.2.2 编写登录验证服务 283

17.2.3 编写注册模块 288

17.2.4 编写注册服务 290

第18章 零售商及货物管理模块 292

18.1 零售商管理模块 292

18.1.1 添加主导航栏 292

18.1.2 编写基础Controller及实体类 294

18.1.3 创建Mapper映射文件 295

18.1.4 编写DAO层处理逻辑 297

18.1.5 编写Service层处理逻辑 297

18.1.6 完善Controller类 298

18.1.7 编写相关视图页面 300

18.1.8 分页操作逻辑编写 302

18.1.9 测试分页效果 305

18.1.10 编写编辑功能 307

18.1.11 测试编辑功能 310

18.1.12 编写删除功能 311

18.1.13 测试删除功能 312

18.1.14 编写添加功能 312

18.1.15 测试添加功能 314

18.2 货物信息管理模块 315

18.2.1 导航栏与Controller基础准备 315

18.2.2 创建Mapper映射文件 316

18.2.3 编写DAO层处理逻辑 318

18.2.4 编写Service层处理逻辑 319

18.2.5 完善Controller类 320

18.2.6 编写相关视图页面 322

18.3 附属品管理模块 325

18.3.1 导航栏与Controller基础准备 325

18.3.2 创建Mapper映射文件 326

18.3.3 完善Controller类 327

18.3.4 编写相关视图页面 329

18.3.5 验证页面效果 331

18.3.6 批量删除实现 332

第19章 购销合同管理模块 335

19.1 购销合同管理模块 335

19.1.1 购销合同Mapper实现 335

19.1.2 编写DAO层处理逻辑 341

19.1.3 编写Service层处理逻辑 342

19.1.4 编写Controller基础类 344

19.1.5 编写相关视图页面 345

19.2 关联零售商 347

19.2.1 编写添加逻辑 347

19.2.2 实现零售商关联浮出框 349

19.2.3 测试零售商关联 354

19.3 关联水果货物 354

19.3.1 货物关联展示与浮出框编写 354

19.3.2 勾选货物功能编写 358

19.3.3 测试货物关联 360

19.4 完善购销合同 360

19.4.1 合同关联信息合并提交 360

19.4.2 测试合并提交 365

19.4.3 合同打印以及删除实现 369

19.5 总结 372

支持作者直接购买

赠书说明:

  1. 活动对象:公众号读者

  2. 抽奖规则,长按小程序抽奖二维码参与即可

  3. 中奖后在抽奖小程序填写好收货信息

  4. 周一到周五都有抽书活动,每日书籍不一样,敬请期待

吐血推荐那些提升开发人员工作效率的在线工具|文末抽书相关推荐

  1. 吐血推荐 | 那些提升开发人员工作效率的在线工具

    导读:Java开发人员经常要和各种各样的工具打交道,除了常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的.本文作者Hollis偏爱使用在线工具,因为这样比较方便.本文就 ...

  2. 那些提升开发人员工作效率的在线工具

    本文转自微信公众号 Hollis 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的. Hollis偏爱使 ...

  3. cad2010多个文件并排显示_飞利浦显示器推荐,提升你的工作效率与水平

    相信很多人每天都会面对显示器来进行工作,如果一款显示器画面成像太差,分辨率太低,会极大影响我们的工作水平和效率,甚至丢失客户,所以一款好的显示器尤为重要,今天小编要给大家推荐的两款偏向办公,而且都来自 ...

  4. 五款提高工作效率的在线工具【神器】

    1. Piktochart 是一个基于Web的信息图表应用程序,它允许没有丰富经验的用户作为图形设计师使用主题模板轻松创建图表和视觉效果 2. canva 是一个图形设计工具网站,成立于2012年.它 ...

  5. Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序(文末送书)

    Android 系统到底提供了哪些东西,供我们可以开发出优秀的应用程序. 作者:坚果 公众号:"大前端之旅" 华为云享专家,InfoQ签约作者,阿里云专家博主,51CTO博客首席体 ...

  6. 休息时间!哪些业余活动能提升开发人员的技能?

    全文共2440字,预计学习时长7分钟 图源:unsplash 程序员不可能无时无刻都在写代码.如果你发现自己越来越频繁地熬夜,或者陷入了马拉松式的编码中时,那么你的代码很有可能是不达标的.这时你应该休 ...

  7. PCF2.5重磅发布!Istio和Envoy助力开发人员工作更高效!

    在阅读这篇文章之前,我们来回顾一下,您所在的企业在软件改善方面,是否卓有成效?比如:至少每周发布一次代码:业务效果提升显著,客户满意度日益提升.当然了,可能很多企业都没办法做到上述这些,更多的是费尽心 ...

  8. 在新一年里提升你的工作效率,收下这 6 款协作工具

    编者按:本文源自少数派,作者 Minja,倍洽官方授权转载. 初入职场的你,在用什么应用参与团队协作呢?在团队日常工作中,大家的确需要一些更专业的应用,能应对任务分配.项目跟进.团队会议.数据分析等协 ...

  9. 人工智能开发人员工作流程、看法、工具统计数据

    人工智能开发人员工作流程.看法.工具统计数据 本文目录: 一.人工智能开发所需要的技能和知识 二.开发人工智能需要以下工具 2.1.开发过程中的人工智能工具调查 2.2.AI 工具情绪调查 2.3.A ...

最新文章

  1. python开发微信小程序-微信小程序开发:python+sanic 实现小程序登录注册
  2. java父线程子线程
  3. linux命令之远程文件或文件夹拷贝-scp
  4. python方向键键值_Python实现的字典排序操作示例【按键名key与键值value排序】
  5. DevExpress GridControl功能总结
  6. 简述园路的功能作用_智能式多功能电表解析
  7. 使用ueditor实现多图片上传案例——Dao层(IBaseDaoUtil)
  8. Spring Boot中自动配置原理以及日志的基本使用
  9. linux拷贝文件时如果想保留文件原有的时间属性,可以使用选项,Linux考试题.doc
  10. Facebook: 亿级向量相似度检索库Faiss 原理+应用
  11. C++ 构造函数中抛出异常
  12. servlet 之forward和sendRedirect跳转
  13. 外贸常用术语_2017常用外贸术语大全
  14. 一图读懂IP数据包头结构
  15. 【Java实现】南京地铁导航系统的简单实现(一)—— 存储站点信息
  16. matlab 绘制三阶魔方-动态变化
  17. d3.js 实现企业图谱(基于vue)
  18. 深入理解布局约束 | 开发者说·DTalk
  19. pygame之pygame模块
  20. [野狐行][2016/04/11][群直播系列2][那些年让我们郁闷不已的游戏保护]

热门文章

  1. 手机有线网络测试软件,iOS-用手机网络测试Ipv6
  2. KLT到DCT(杜克大学数字图像处理课程学习笔记)
  3. 用spss插件process做有调节的中介分析的结果解读
  4. 【Angular】Angular从入门到实战视频教程第八章
  5. Qt 使用iconfont【实战版】
  6. python理解浮点数运算的误差_浅谈浮点数运算的误差
  7. 手把手教你搭建腾讯云服务器
  8. Toolbar的介绍和使用
  9. 鸿蒙升级报名,鸿蒙os2.0公测招募报名入口 鸿蒙os2.0系统升级攻略
  10. 分布式文件系统HDFS