大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的java程序员。今天给大家分享一下,修真院官网 java任务中可能会使用到的知识点:


代码生成


width="640" height="498" src="https://v.qq.com/txp/iframe/player.html?vid=v0781igi8ct" allowfullscreen="">

【修真院java小课堂】代码生成20180908

1.背景介绍

  • 从任务一到任务九,我们都是手写代码、配置文件,而这些代码或者配置文件很多都是重复的,其实在这个过程中大家或多或少都会去思考,我们做的重复性工作是不是太多了?
  • 是的,如果我们在公司开发项目的时候,所有的实体类、dao层、service层等都是手动写的,那么项目的开发效率可想而知有多么低
  • 如何解决这个问题呢?既然这是个“需求”,那就搞定它。所以就有代码生成这么一个项目,当然这个项目已经是现成的了,直接去“学员svn”拉取就好了

2.知识剖析

2.1 生成代码的框架简单介绍

  • web、service分离,tuscany
  • 注册中心,scallop

2.2 生成代码之后的文件对应关系

  • 根据web、service分离,以及core包划分

    • core:model、service接口、SCAClient
    • service:Server、service实现类、配置文件(spring、tuscany server、dao层、数据库配置文件)
    • web:controller、util、配置文件(spring、springmvc、tuscany client、scallop注册中心、缓存……)、jsp页面、web.xml

2.3 生成代码之后,搭建新项目需要注意的地方

  • maven私服配置:主要是把公司私服配置进来(没难度)
  • hosts文件修改:对于注册中心提供的域名进行解析

3.常见问题

3.1 项目从生成到跑起来的坑点

  • 注意表格,表格命名、服务端口
  • core包,可以使用maven isntall直接打包到本地(服务器)
  • 数据库表格,注意数据是否为空的限制

4.编码实战

  • 从代码生成到项目运行成功
  • 具体见视频

5.扩展思考

5.1 能否自己写代码生成项目

  • –读取文件(固定的格式)
  • –将文件按照协议(约定的格式)解析
  • –在指定的位置生成
  • –落地成为代码

  • –整体的逻辑并不复杂,但是从实现上来说有几处注意的地方

  • –文件选取什么样的格式,比如json、xls、csv等(目前我见过的有csv和xls)
  • –如何做好协议,协议本身应该遵从怎样的规范

6.参考文献

https://v.qq.com/x/page/b0567v259kh.html
https://v.qq.com/x/page/e05199sjgl9.html
小课堂相关资料


7.更多讨论

Q:公司框架需要学习到什么程度?
A:能运行,能知道如何修改sql语句,基本就够用了

Q:不在scallop.resource.center中写入service对应关系可以正常使用不?
A:理论上是可以的,就像任务9的时候,不适用注册中心,tuscany照样可以完成web和service分离。

Q:代码生成是否是常见?
A:挺常见的,mybatis逆向工程是一个典型,公司代码生成是一个,github上应该也有一些开源的项目,可以去看看

PPT在这里

感谢大家观看!

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。

快来与我一起学习吧~http://www.jnshu.com/login/1/22140638

【修真院java小课堂】代码生成相关推荐

  1. 【修真院java小课堂】ArrayList浅析

    大家好,我是IT修真院郑州分院第8期学员,一枚正直善良的java程序员.今天给大家分享一下,修真院官网 java任务中可能会使用到的知识点: ArrayList浅析 width="640&q ...

  2. 【修真院Java小课堂】Annotation注解

    标题: [修真院Java小课堂]Annotation注解 开场语: 大家好,我是IT修真院西安分院第三期学员,一枚正直纯洁善良的JAVA程序员,今天给大家分享一下,修真院官网JAVA任务七,深度思考中 ...

  3. 【修真院JAVA小课堂】redis缓存集群简单介绍

    大家好,我是IT修真院郑州分院第11期的JAVA学员,一枚正直纯洁善良的java程序员. 今天给大家分享一下,redis缓存集群简单介绍. 1.背景介绍 redis是一个key-value存储系统.和 ...

  4. 【修真院java小课堂】clean,install,package,deploy分别代表什么含义?

    大家好,我是IT修真院成都分院第12期学员,一枚正直善良的java程序员. 今天给大家分享一下,修真院官网java任务一中可能会使用到的知识点: clean,install,package,deplo ...

  5. 【修真院JAVA小课堂】什么是压测,为什么要进行压力测试?JMETER工具的使用

    大家好,我是IT修真院郑州分院第11期的JAVA学员,一枚正直纯洁善良的java程序员. 今天给大家分享一下,什么是压测,为什么要进行压力测试?JMETER工具的使用. 1.背景介绍 压测,即压力测试 ...

  6. 【修真院Java小课堂】Tiles框架简单介绍

    大家好,我是IT修真院上海分院第6期的学员,一枚正直纯洁善良的程序员 今天给大家分享一下,Tiles框架简单介绍 Tiles框架简单介绍 背景介绍 什么是Tiles Tiles 是一种JSP布局框架, ...

  7. 【修真院WEB小课堂】定时器有哪些用法?

    这里是修真院前端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析前端知识/技能,本篇分享的是: [定时器有哪些用 ...

  8. 【修真院pm小课堂】详谈用户体验五要素

    [修真院pm小课堂]详谈用户体验五要素 用户体验五要素在产品的工作中经常听到,那么他究竟是什么呢?怎样去使用呢? 一.战略层 明确商业目标和用户目标,解决两者之间的冲突,找到平衡点,确定产品原则和定位 ...

  9. 【修真院web小课堂】请描述 BFC(Block Formatting Context) 及其如何工作

    请描述 BFC(Block Formatting Context) 及其如何工作 小课堂[北京-WEB-A组] 分享人:要来点本子吗 大家好,我是IT修真院北京分院第35期的学员,一枚正直.纯洁.善良 ...

  10. 【修真院web小课堂】angular js常用指令 ng-blur、ng-change、ng-focus、ng-disabled是如何运用到表单验证中的?

    大家好,我是IT修真院武汉分院web第16期的学员孟晨,一枚正直纯洁善良的web程序员 今天给大家分享一下,修真院官网js(职业)任务八,深度思考中的知识点--angular js常用指令 ng-bl ...

最新文章

  1. Excel 统计IP
  2. 小谈多生成树协议--MSTP
  3. libevent java_libevent简介
  4. Java 8 Date-Time API 详解
  5. nodejs(1)---mongodb
  6. PHP5.4.3,有些插件不是你想用就能用的
  7. combobox的联动练习
  8. MacOS安装app提示已损坏修复指令
  9. windows运行python脚本卡住_运行python脚本安装windows服务时没有响应
  10. 如何做一枚优秀的全栈工程师
  11. 兄弟连 php 下载,兄弟连新版ThinkPHP视频教程下载地址
  12. 奥维怎么记录沿线轨迹_奥维地图如何绘制轨迹
  13. 三、unaipp小程序二维码生成
  14. powerpc linux交叉编译器,搭建PowerPC交叉编译器 三
  15. 【Android】实现应用简单的用户登录界面
  16. 手机号获取验证码进行登录注册
  17. windows 2008 r2 kb4512486 安装失败解决方法
  18. 如何解决win10连接手机无反应情况
  19. 讨厌google.cn怎么办?
  20. 关于学生管理系统(注册,登录,学生端)

热门文章

  1. requests模块练习1
  2. 软件测试工程师成长之路 掌握软件测试九大技术主题
  3. 跟零计算机基础的房东女儿讲了一下午的中间人劫持京东事件后,她感激涕零,决定给我免除房租......
  4. 分享一个jQuery的自动客户端本地保存插件Sisyphus.js - 帮助你自动保存用户输入内容
  5. 他只靠写代码,登上了胡润富豪榜!
  6. android x86 mip,mip-appdl
  7. Could not find a price list in Ordered UOM xxx and Primary UOM of the item
  8. 计算机相关英语生词积累
  9. vlan绑定_华为S5700交换机设置IP-MAC绑定功能
  10. [面试系列]华为OD社招前端面试复盘