html游戏代码_实现了代码自动生成,开发效率妥妥的提升,升职加薪跟上
目錄
1、應(yīng)用場(chǎng)景:
2、實(shí)戰(zhàn)
1.環(huán)境搭建
2.代碼
3.運(yùn)行結(jié)果
3、官方網(wǎng)站
4、總結(jié):
關(guān)注我公眾號(hào)【香菜聊游戲】
序言:繼續(xù)接上篇的live template ,idea騷操作雖然好,但是使用范圍有限,只能是一段代碼,無法對(duì)一些重復(fù)的邏輯,重復(fù)的類進(jìn)行處理,既然我們遇到了這個(gè)問題別人也會(huì)遇到,那有沒有現(xiàn)成的技術(shù)方案吶?of course !今天就介紹下偷懶大殺器——Freemaker。【FreeMarker 是一款 模板引擎:即一種基于模板和要改變的數(shù)據(jù), 并用來生成輸出文本(HTML網(wǎng)頁(yè),電子郵件,配置文件,源代碼等)的通用工具。它不是面向最終用戶的,而是一個(gè)Java類庫(kù),是一款程序員可以嵌入他們所開發(fā)產(chǎn)品的組件】。官方的解釋真的是高級(jí),用一句話來說就是給程序員使用的,用來做內(nèi)容生成的。
1、應(yīng)用場(chǎng)景:
FreeMarker最初的設(shè)計(jì),是被用來在MVC模式的Web開發(fā)框架中生成HTML頁(yè)面的,它沒有被綁定到 Servlet或HTML或任意Web相關(guān)的東西上。它也可以用于非Web應(yīng)用環(huán)境中。在我們的游戲項(xiàng)目中有一些緩存類,和查詢數(shù)據(jù)庫(kù)的代碼是重復(fù)的機(jī)械性代碼,因此用來生成項(xiàng)目?jī)?nèi)的一些通用代碼結(jié)構(gòu),提高了生產(chǎn)效率,也減少了出錯(cuò)的可能性,機(jī)智。
2、實(shí)戰(zhàn)
不管是Jsp 還是freemaker 都是內(nèi)容替換,用公式來表達(dá)就是:模板 + 數(shù)據(jù)模型 = 輸出。
你要做的就是理解,然后記住那些該死的標(biāo)簽,用完然后忘掉,重復(fù),輪回,o(╯□╰)o。
1.環(huán)境搭建
創(chuàng)建maven 項(xiàng)目,或者直接下載 下面對(duì)應(yīng)的包加入你的項(xiàng)目中,看你方便,建議使用maven,自動(dòng)下載包,多happy。
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.30</version>
</dependency>
2.代碼
模板文件:
package ${packagePath};
public class ${className} {
public static void main(String[] args) {
System.out.println("${helloWorld}");
}
}
生成代碼
package org.pdool.d20201010;
import freemarker.template.Configuration;
import freemarker.template.Template;
import java.io.*;
import java.util.HashMap;
import java.util.Map;
public class Aain {
private static final String TEMPLATE_PATH ="src/main/java/org/pdool/d20201010";
private static final String CLASS_PATH ="src/main/java/org/pdool/d20201010/gen/";
private static final String PACKAGE_PATH = "org.pdool.d20201010.gen";
public static void main(String[] args) throws Exception {
Configuration configuration = new Configuration();
String genClassName = "HelloFreeMaker";
configuration.setDirectoryForTemplateLoading(new File(TEMPLATE_PATH));
Map<String, Object> dataMap = new HashMap<>();
dataMap.put("packagePath", PACKAGE_PATH);
dataMap.put("className", genClassName);
dataMap.put("helloWorld", "hello freeMaker,from 香菜");
Template template = configuration.getTemplate("helloFreemaker.ftl");
File docFile = new File(CLASS_PATH + genClassName + ".java");
Writer out = new BufferedWriter(new OutputStreamWriter(newFileOutputStream(docFile)));
template.process(dataMap, out);
System.out.println(genClassName + ".java 文件創(chuàng)建成功 !");
}
}
3.運(yùn)行結(jié)果
3、官方網(wǎng)站
上面介紹了基本的使用,在你使用的過程中可能需要一些其他的標(biāo)簽,可以查閱官方網(wǎng)站。
官方網(wǎng)站的鏈接:http://freemarker.foofun.cn/index.html,網(wǎng)站上有完整的介紹,今天主要還是介紹下怎么快速的入門,官方的網(wǎng)站上太全,等你遇到問題再去查也不著急。
4、總結(jié):
關(guān)注我公眾號(hào)【香菜聊游戲】,專注游戲技術(shù),還有源碼可以領(lǐng)取哦。
不過是內(nèi)容替換而已,相信會(huì)Java的同學(xué)基本一眼就能看明白,和Jsp 同理,跟著規(guī)則來,將生成的內(nèi)容寫入到文件,免去一些日常的代碼操作。
瘋狂提升開發(fā)效率,留點(diǎn)時(shí)間劃劃水,找朋友聊聊天,帶其他的同學(xué)飛,展示下你的技術(shù),何樂而不為。
使用步驟:
第一步:創(chuàng)建一個(gè)Configuration對(duì)象,直接new一個(gè)對(duì)象。
第二步:設(shè)置模板文件所在的路徑。
第三步:設(shè)置模板文件使用的字符集。一般就是utf-8。
第四步:加載一個(gè)模板,創(chuàng)建一個(gè)模板對(duì)象。
第五步:創(chuàng)建一個(gè)模板使用的數(shù)據(jù)集。一般是Map。
第六步:創(chuàng)建一個(gè)Writer對(duì)象,一般創(chuàng)建一FileWriter對(duì)象,指定生成的文件名。
第七步:調(diào)用模板對(duì)象的process方法輸出文件。
第八步:關(guān)閉流。
作者:公眾號(hào)一香菜聊游戲
鏈接:https://blog.csdn.net/nanhuaibeian/article/details/108959397
總結(jié)
以上是生活随笔為你收集整理的html游戏代码_实现了代码自动生成,开发效率妥妥的提升,升职加薪跟上的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql delete exists用
- 下一篇: ipv6 端口号_计算机网络之IP、MA