diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java
new file mode 100755
index 000000000..d78272441
--- /dev/null
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/jdk/package-info.java
@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2023 looly(loolly@aliyun.com)
+ * Hutool is licensed under Mulan PSL v2.
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
+ * You may obtain a copy of Mulan PSL v2 at:
+ * http://license.coscl.org.cn/MulanPSL2
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+ * See the Mulan PSL v2 for more details.
+ */
+
+/**
+ * JDK方式切面实现,基于{@link java.lang.reflect.Proxy}封装
+ *
+ * @author looly
+ */
+package org.dromara.hutool.extra.aop.engine.jdk;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java
new file mode 100755
index 000000000..793282b27
--- /dev/null
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/package-info.java
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2023 looly(loolly@aliyun.com)
+ * Hutool is licensed under Mulan PSL v2.
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
+ * You may obtain a copy of Mulan PSL v2 at:
+ * http://license.coscl.org.cn/MulanPSL2
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+ * See the Mulan PSL v2 for more details.
+ */
+
+/**
+ * 切面实现引擎
+ *
+ * @author looly
+ *
+ */
+package org.dromara.hutool.extra.aop.engine;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java
new file mode 100755
index 000000000..df6ff6d2f
--- /dev/null
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/aop/engine/spring/package-info.java
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2023 looly(loolly@aliyun.com)
+ * Hutool is licensed under Mulan PSL v2.
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
+ * You may obtain a copy of Mulan PSL v2 at:
+ * http://license.coscl.org.cn/MulanPSL2
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
+ * See the Mulan PSL v2 for more details.
+ */
+
+/**
+ * Spring-cglib切面实现
+ *
+ * @author looly
+ *
+ */
+package org.dromara.hutool.extra.aop.engine.spring;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java
index 0568a7157..7c913db24 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateConfig.java
@@ -17,6 +17,7 @@ import java.nio.charset.Charset;
import java.util.Objects;
import org.dromara.hutool.core.util.CharsetUtil;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
/**
* 模板配置
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java
similarity index 79%
rename from hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java
rename to hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java
index ecd25fe07..172e6fac8 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateFactory.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateFactory.java
@@ -10,19 +10,17 @@
* See the Mulan PSL v2 for more details.
*/
-package org.dromara.hutool.extra.template.engine;
+package org.dromara.hutool.extra.template;
import org.dromara.hutool.core.lang.Singleton;
import org.dromara.hutool.core.reflect.ConstructorUtil;
import org.dromara.hutool.core.spi.SpiUtil;
import org.dromara.hutool.core.text.StrUtil;
-import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
-import org.dromara.hutool.extra.template.TemplateException;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import org.dromara.hutool.log.StaticLog;
/**
- * 简单模板工厂,用于根据用户引入的模板引擎jar,自动创建对应的模板引擎对象
+ * 简单模板殷勤工厂,用于根据用户引入的模板引擎jar,自动创建对应的模板引擎对象
*
* @author looly
*/
@@ -34,8 +32,8 @@ public class TemplateFactory {
*
* @return 单例的TemplateEngine
*/
- public static TemplateEngine get(){
- return Singleton.get(TemplateEngine.class.getName(), TemplateFactory::of);
+ public static TemplateEngine getEngine() {
+ return Singleton.get(TemplateEngine.class.getName(), TemplateFactory::createEngine);
}
/**
@@ -45,8 +43,8 @@ public class TemplateFactory {
* @return {@link TemplateEngine}
* @since 5.3.3
*/
- public static TemplateEngine of() {
- return of(new TemplateConfig());
+ public static TemplateEngine createEngine() {
+ return createEngine(new TemplateConfig());
}
/**
@@ -56,7 +54,7 @@ public class TemplateFactory {
* @param config 模板配置,包括编码、模板文件path等信息
* @return {@link TemplateEngine}
*/
- public static TemplateEngine of(final TemplateConfig config) {
+ public static TemplateEngine createEngine(final TemplateConfig config) {
final TemplateEngine engine = doCreate(config);
StaticLog.debug("Use [{}] Engine As Default.", StrUtil.removeSuffix(engine.getClass().getSimpleName(), "Engine"));
return engine;
@@ -72,15 +70,17 @@ public class TemplateFactory {
private static TemplateEngine doCreate(final TemplateConfig config) {
final Class extends TemplateEngine> customEngineClass = config.getCustomEngine();
final TemplateEngine engine;
- if(null != customEngineClass){
+ if (null != customEngineClass) {
+ // 自定义模板引擎
engine = ConstructorUtil.newInstance(customEngineClass);
- }else{
+ } else {
+ // SPI引擎查找
engine = SpiUtil.loadFirstAvailable(TemplateEngine.class);
}
- if(null != engine){
+ if (null != engine) {
return engine.init(config);
}
- throw new TemplateException("No template found !Please add one of template jar to your project !");
+ throw new TemplateException("No template found! Please add one of template jar to your project !");
}
}
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java
deleted file mode 100644
index 6b575603f..000000000
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateUtil.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2023 looly(loolly@aliyun.com)
- * Hutool is licensed under Mulan PSL v2.
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
- * You may obtain a copy of Mulan PSL v2 at:
- * http://license.coscl.org.cn/MulanPSL2
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
- * See the Mulan PSL v2 for more details.
- */
-
-package org.dromara.hutool.extra.template;
-
-import org.dromara.hutool.extra.template.engine.TemplateFactory;
-
-/**
- * 模板工具类
- *
- * @author looly
- * @since 4.1.0
- */
-public class TemplateUtil {
-
- /**
- * 根据用户引入的模板引擎jar,自动创建对应的模板引擎对象,使用默认配置
- * 推荐创建的引擎单例使用,此方法每次调用会返回新的引擎
- *
- * @return {@link TemplateEngine}
- * @since 4.1.11
- */
- public static TemplateEngine createEngine() {
- return TemplateFactory.of();
- }
-
- /**
- * 根据用户引入的模板引擎jar,自动创建对应的模板引擎对象
- * 推荐创建的引擎单例使用,此方法每次调用会返回新的引擎
- *
- * @param config 模板配置,包括编码、模板文件path等信息
- * @return {@link TemplateEngine}
- */
- public static TemplateEngine createEngine(final TemplateConfig config) {
- return TemplateFactory.of(config);
- }
-}
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java
similarity index 88%
rename from hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java
rename to hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java
index f206a35d3..95e29e89b 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/TemplateEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/TemplateEngine.java
@@ -10,7 +10,10 @@
* See the Mulan PSL v2 for more details.
*/
-package org.dromara.hutool.extra.template;
+package org.dromara.hutool.extra.template.engine;
+
+import org.dromara.hutool.extra.template.Template;
+import org.dromara.hutool.extra.template.TemplateConfig;
/**
* 引擎接口,通过实现此接口从而使用对应的模板引擎
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java
index d6c7702ec..65787235e 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/beetl/BeetlEngine.java
@@ -15,7 +15,7 @@ package org.dromara.hutool.extra.template.engine.beetl;
import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import org.beetl.core.Configuration;
import org.beetl.core.GroupTemplate;
import org.beetl.core.ResourceLoader;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java
index 42c31d762..db7a323b8 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/enjoy/EnjoyEngine.java
@@ -18,7 +18,7 @@ import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
import org.dromara.hutool.extra.template.TemplateConfig.ResourceMode;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import com.jfinal.template.source.FileSourceFactory;
import java.io.File;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
index 255f4f6d0..4ede005ab 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/freemarker/FreemarkerEngine.java
@@ -17,7 +17,7 @@ import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import org.dromara.hutool.extra.template.TemplateException;
import freemarker.cache.ClassTemplateLoader;
import freemarker.cache.FileTemplateLoader;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java
index 49aa5da16..d347dd2d8 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/jetbrick/JetbrickEngine.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.extra.template.engine.jetbrick;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import jetbrick.template.JetEngine;
import java.util.Properties;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java
index fe18f4134..95f9f86c4 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/pebble/PebbleTemplateEngine.java
@@ -17,7 +17,7 @@ import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import io.pebbletemplates.pebble.PebbleEngine;
import io.pebbletemplates.pebble.loader.*;
import org.beetl.core.GroupTemplate;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java
index 0e473962e..6c3ddf436 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/rythm/RythmEngine.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.extra.template.engine.rythm;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import java.util.Properties;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java
index 810067377..4d1c43c5a 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/thymeleaf/ThymeleafEngine.java
@@ -23,7 +23,7 @@ import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
/**
* Thymeleaf模板引擎实现
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java
index e666793ca..5e14dd931 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/velocity/VelocityEngine.java
@@ -16,7 +16,7 @@ import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import org.apache.velocity.app.Velocity;
/**
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java
index 153f4846f..c7e9a85bd 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/engine/wit/WitEngine.java
@@ -16,7 +16,7 @@ import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.map.Dict;
import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig;
-import org.dromara.hutool.extra.template.TemplateEngine;
+import org.dromara.hutool.extra.template.engine.TemplateEngine;
import org.dromara.hutool.extra.template.TemplateException;
import org.febit.wit.Engine;
import org.febit.wit.exceptions.ResourceNotFoundException;
diff --git a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java
index 479dd8d0e..f201125ff 100644
--- a/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java
+++ b/hutool-extra/src/main/java/org/dromara/hutool/extra/template/package-info.java
@@ -12,6 +12,10 @@
/**
* 第三方模板引擎封装,提供统一的接口用于适配第三方模板引擎
+ *
+ * + * TemplateFactory =》 TemplateEngine =》 Template =》 内容 + ** * @author looly * diff --git a/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine b/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine similarity index 94% rename from hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine rename to hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine index ef2646f4a..4f8099d5e 100644 --- a/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.TemplateEngine +++ b/hutool-extra/src/main/resources/META-INF/services/org.dromara.hutool.extra.template.engine.TemplateEngine @@ -10,6 +10,8 @@ # See the Mulan PSL v2 for more details. # +# 实现:org.dromara.hutool.extra.template.engine.TemplateEngine + org.dromara.hutool.extra.template.engine.beetl.BeetlEngine org.dromara.hutool.extra.template.engine.freemarker.FreemarkerEngine org.dromara.hutool.extra.template.engine.velocity.VelocityEngine diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java index c48b71c64..c681fcc5b 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/JetbrickTest.java @@ -2,6 +2,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.text.StrUtil; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.jetbrick.JetbrickEngine; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -13,7 +14,7 @@ public class JetbrickTest { //classpath模板 final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.CLASSPATH) .setCustomEngine(JetbrickEngine.class); - final TemplateEngine engine = TemplateUtil.createEngine(config); + final TemplateEngine engine = TemplateFactory.createEngine(config); final Template template = engine.getTemplate("jetbrick_test.jetx"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("你好,hutool", StrUtil.trim(result)); @@ -24,7 +25,7 @@ public class JetbrickTest { // 字符串模板 final TemplateConfig config = new TemplateConfig("templates", TemplateConfig.ResourceMode.STRING) .setCustomEngine(JetbrickEngine.class); - final TemplateEngine engine = TemplateUtil.createEngine(config); + final TemplateEngine engine = TemplateFactory.createEngine(config); final Template template = engine.getTemplate("hello,${name}"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", StrUtil.trim(result)); diff --git a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java similarity index 86% rename from hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java rename to hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java index 1a7bc22cd..d026a2d56 100644 --- a/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateUtilTest.java +++ b/hutool-extra/src/test/java/org/dromara/hutool/extra/template/TemplateFactoryTest.java @@ -3,6 +3,7 @@ package org.dromara.hutool.extra.template; import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.extra.template.TemplateConfig.ResourceMode; +import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.beetl.BeetlEngine; import org.dromara.hutool.extra.template.engine.enjoy.EnjoyEngine; import org.dromara.hutool.extra.template.engine.freemarker.FreemarkerEngine; @@ -25,18 +26,18 @@ import java.util.Map; * @author looly * */ -public class TemplateUtilTest { +public class TemplateFactoryTest { @Test public void createEngineTest() { // 字符串模板, 默认模板引擎,此处为Beetl - TemplateEngine engine = TemplateUtil.createEngine(new TemplateConfig()); + TemplateEngine engine = TemplateFactory.createEngine(new TemplateConfig()); final Template template = engine.getTemplate("hello,${name}"); final String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result); // classpath中获取模板 - engine = TemplateUtil.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH)); + engine = TemplateFactory.createEngine(new TemplateConfig("templates", ResourceMode.CLASSPATH)); final Template template2 = engine.getTemplate("beetl_test.btl"); final String result2 = template2.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result2); @@ -60,7 +61,7 @@ public class TemplateUtilTest { @Test public void rythmEngineTest() { // 字符串模板 - final TemplateEngine engine = TemplateUtil.createEngine( + final TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(RythmEngine.class)); final Template template = engine.getTemplate("hello,@name"); final String result = template.render(Dict.of().set("name", "hutool")); @@ -75,14 +76,14 @@ public class TemplateUtilTest { @Test public void freemarkerEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.STRING).setCustomEngine(FreemarkerEngine.class)); Template template = engine.getTemplate("hello,${name}"); String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("hello,hutool", result); //ClassPath模板 - engine = TemplateUtil.createEngine( + engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(FreemarkerEngine.class)); template = engine.getTemplate("freemarker_test.ftl"); result = template.render(Dict.of().set("name", "hutool")); @@ -92,14 +93,14 @@ public class TemplateUtilTest { @Test public void velocityEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.STRING).setCustomEngine(VelocityEngine.class)); Template template = engine.getTemplate("你好,$name"); String result = template.render(Dict.of().set("name", "hutool")); Assertions.assertEquals("你好,hutool", result); //ClassPath模板 - engine = TemplateUtil.createEngine( + engine = TemplateFactory.createEngine( new TemplateConfig("templates", ResourceMode.CLASSPATH).setCustomEngine(VelocityEngine.class)); template = engine.getTemplate("velocity_test.vtl"); result = template.render(Dict.of().set("name", "hutool")); @@ -113,7 +114,7 @@ public class TemplateUtilTest { @Test public void enjoyEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(EnjoyEngine.class)); Template template = engine.getTemplate("#(x + 123)"); String result = template.render(Dict.of().set("x", 1)); @@ -130,14 +131,14 @@ public class TemplateUtilTest { @Test public void thymeleafEngineTest() { // 字符串模板 - TemplateEngine engine = TemplateUtil.createEngine( + TemplateEngine engine = TemplateFactory.createEngine( new TemplateConfig("templates").setCustomEngine(ThymeleafEngine.class)); Template template = engine.getTemplate(""); String result = template.render(Dict.of().set("message", "Hutool")); Assertions.assertEquals("