基础培训-餐评系统开发

dhso
2017/07/05 22:58
统计中

这次的java基础培训我们将学到一个午餐点评网站完整的开发,这里会学到Spring Boot+Mybatis+freemarker+swagger+druid等技术,希望本次培训对大家有所帮助。

脚手架代码

码云 http://git.oschina.net/dhso/springboot-startkit [点击访问]

Spring Boot介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。
该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

Spring Boot 官方文档 [点击访问]

Mybatis介绍

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。
MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

Mybatis 官方文档 [点击访问]

FreeMarker模板引擎

FreeMarker 官方文档 [点击访问]

Freemarker 是一款模板引擎,是一种基于模版生成静态文件的通用 工具,它是为Java程序员提供的一个开发包,或者说是一个类库,它不是面向最终用户的,而是为程序员提供了一款可以嵌入他们开发产品的应用程序。

虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)

##FreeMarker特性
1. 通用目标
 能够生成各种文本:HTML、XML、RTF、Java源代码等等

 易于嵌入到你的产品中:轻量级;不需要Servlet环境

 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等

 你可以按你所需生成文本:保存到本地文件;作为Email发送;从Web应用程序发送它返回给Web浏览器

2. 强大的模板语言
 所有常用的指令:include、if/elseif/else、循环结构

 在模板中创建和改变变量

 几乎在任何地方都可以使用复杂表达式来指定值

 命名的宏,可以具有位置参数和嵌套内容

 名字空间有助于建立和维护可重用的宏库,或者将一个大工程分成模块,而不必担心名字冲突

 输出转换块:在嵌套模板片段生成输出时,转换HTML转义、压缩、语法高亮等等;你可以定义自己的转换

3. 通用数据模型
 FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示

 你可以使用抽象(接口)方式表示对象(JavaBean、XML文档、SQL查询结果集等等),告诉模板开发者使用方法,使其不受技术细节的打扰

4. 为Web准备
 在模板语言中内建处理典型Web相关任务(如HTML转义)的结构

 能够集成到Model2 Web应用框架中作为JSP的替代

 支持JSP标记库

 为MVC模式设计:分离可视化设计和应用程序逻辑;分离页面设计员和程序员

5. 智能的国际化和本地化

 字符集智能化(内部使用UNICODE)

 数字格式本地化敏感

 日期和时间格式本地化敏感

 非US字符集可以用作标识(如变量名)

 多种不同语言的相同模板

6. 强大的XML处理能力
 <#recurse> 和<#visit>指令(2.3版本)用于递归遍历XML树
 
 在模板中清楚和直接的访问XML对象模型

Swagger

Swagger 官方网站 [点击访问]

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

Swagger 的总体目标是使客户端和文件系统作为服务器以同样的速度来更新文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。

本项目脚手架已经集成了swagger,可访问路径http://127.0.0.1:8080/swagger-ui.html
查看

Druid

Druid Wiki文档

Druid是一个JDBC组件,它包括三部分:

  • DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。

  • DruidDataSource 高效可管理的数据库连接池。

  • SQLParser sql解析处理

Druid可以做什么?

  1. 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

  2. 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

  3. 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

  4. SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

  5. 扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

本项目脚手架集成了druid,可访问http://127.0.0.1:8080/druid/login.html 查看。

本文为 dhso 原创

发布在 http://blog.minws.com/ji-chu-pei-xun-can-ping-xi-tong-kai-fa/

如有转载,请标明来源!

作者信息
姓名:dhso
热评文章
最新评论
文章概览