This commit is contained in:
Looly 2024-07-12 11:03:04 +08:00
parent 24cee9d2c1
commit 61252da8cb
12 changed files with 59 additions and 6 deletions

View File

@ -13,6 +13,7 @@
package org.dromara.hutool.crypto.provider; package org.dromara.hutool.crypto.provider;
import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.dromara.hutool.core.lang.Assert;
import java.security.Provider; import java.security.Provider;
import java.security.Security; import java.security.Security;
@ -25,6 +26,14 @@ import java.security.Security;
*/ */
public class BouncyCastleProviderFactory implements ProviderFactory { public class BouncyCastleProviderFactory implements ProviderFactory {
/**
* 构造
*/
public BouncyCastleProviderFactory(){
// SPI方式加载时检查BC库是否引入
Assert.notNull(BouncyCastleProvider.class);
}
@Override @Override
public Provider create() { public Provider create() {
// pr#3464Graalvm打包后注册会导致 // pr#3464Graalvm打包后注册会导致

View File

@ -12,6 +12,7 @@
package org.dromara.hutool.extra.aop.engine.spring; package org.dromara.hutool.extra.aop.engine.spring;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.reflect.ClassUtil; import org.dromara.hutool.core.reflect.ClassUtil;
import org.dromara.hutool.core.reflect.ConstructorUtil; import org.dromara.hutool.core.reflect.ConstructorUtil;
import org.dromara.hutool.extra.aop.Aspect; import org.dromara.hutool.extra.aop.Aspect;
@ -27,6 +28,14 @@ import java.lang.reflect.Constructor;
*/ */
public class SpringCglibProxyEngine implements ProxyEngine { public class SpringCglibProxyEngine implements ProxyEngine {
/**
* 构造
*/
public SpringCglibProxyEngine(){
// SPI方式加载时检查BC库是否引入
Assert.notNull(Enhancer.class);
}
@Override @Override
public <T> T proxy(final T target, final Aspect aspect) { public <T> T proxy(final T target, final Aspect aspect) {
final Class<?> targetClass = target.getClass(); final Class<?> targetClass = target.getClass();

View File

@ -13,6 +13,7 @@
package org.dromara.hutool.extra.template.engine.beetl; package org.dromara.hutool.extra.template.engine.beetl;
import org.dromara.hutool.core.io.IORuntimeException; import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.TemplateEngine;
@ -40,7 +41,10 @@ public class BeetlEngine implements TemplateEngine {
/** /**
* 默认构造 * 默认构造
*/ */
public BeetlEngine() {} public BeetlEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(GroupTemplate.class);
}
/** /**
* 构造 * 构造

View File

@ -14,6 +14,7 @@ package org.dromara.hutool.extra.template.engine.enjoy;
import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.data.id.IdUtil; import org.dromara.hutool.core.data.id.IdUtil;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
@ -39,7 +40,10 @@ public class EnjoyEngine implements TemplateEngine {
/** /**
* 默认构造 * 默认构造
*/ */
public EnjoyEngine() {} public EnjoyEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(com.jfinal.template.Engine.class);
}
/** /**
* 构造 * 构造

View File

@ -15,6 +15,7 @@ package org.dromara.hutool.extra.template.engine.freemarker;
import org.dromara.hutool.core.classloader.ClassLoaderUtil; import org.dromara.hutool.core.classloader.ClassLoaderUtil;
import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.io.IORuntimeException; import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.TemplateEngine;
@ -41,6 +42,8 @@ public class FreemarkerEngine implements TemplateEngine {
* 默认构造 * 默认构造
*/ */
public FreemarkerEngine() { public FreemarkerEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(Configuration.class);
} }
/** /**

View File

@ -12,6 +12,7 @@
package org.dromara.hutool.extra.template.engine.jetbrick; package org.dromara.hutool.extra.template.engine.jetbrick;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.TemplateEngine;
@ -34,7 +35,10 @@ public class JetbrickEngine implements TemplateEngine {
/** /**
* 默认构造 * 默认构造
*/ */
public JetbrickEngine() {} public JetbrickEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(JetbrickEngine.class);
}
/** /**
* 构造 * 构造

View File

@ -16,6 +16,7 @@ import gg.jte.CodeResolver;
import gg.jte.ContentType; import gg.jte.ContentType;
import gg.jte.resolve.DirectoryCodeResolver; import gg.jte.resolve.DirectoryCodeResolver;
import gg.jte.resolve.ResourceCodeResolver; import gg.jte.resolve.ResourceCodeResolver;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.core.map.MapUtil;
import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
@ -42,6 +43,8 @@ public class JteEngine implements TemplateEngine {
* 默认构造 * 默认构造
*/ */
public JteEngine() { public JteEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(gg.jte.TemplateEngine.class);
} }
/** /**

View File

@ -14,6 +14,7 @@ package org.dromara.hutool.extra.template.engine.pebble;
import org.dromara.hutool.core.collection.ListUtil; import org.dromara.hutool.core.collection.ListUtil;
import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
@ -35,6 +36,8 @@ public class PebbleTemplateEngine implements TemplateEngine {
* 构造不初始化 * 构造不初始化
*/ */
public PebbleTemplateEngine() { public PebbleTemplateEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(PebbleEngine.class);
} }
/** /**

View File

@ -12,6 +12,7 @@
package org.dromara.hutool.extra.template.engine.rythm; package org.dromara.hutool.extra.template.engine.rythm;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
import org.dromara.hutool.extra.template.engine.TemplateEngine; import org.dromara.hutool.extra.template.engine.TemplateEngine;
@ -27,13 +28,16 @@ import java.util.Properties;
*/ */
public class RythmEngine implements TemplateEngine { public class RythmEngine implements TemplateEngine {
org.rythmengine.RythmEngine engine; private org.rythmengine.RythmEngine engine;
// --------------------------------------------------------------------------------- Constructor start // --------------------------------------------------------------------------------- Constructor start
/** /**
* 默认构造 * 默认构造
*/ */
public RythmEngine() {} public RythmEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(org.rythmengine.RythmEngine.class);
}
/** /**
* 构造 * 构造

View File

@ -12,6 +12,7 @@
package org.dromara.hutool.extra.template.engine.thymeleaf; package org.dromara.hutool.extra.template.engine.thymeleaf;
import org.dromara.hutool.core.lang.Assert;
import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver; import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
import org.thymeleaf.templateresolver.DefaultTemplateResolver; import org.thymeleaf.templateresolver.DefaultTemplateResolver;
@ -42,6 +43,8 @@ public class ThymeleafEngine implements TemplateEngine {
* 默认构造 * 默认构造
*/ */
public ThymeleafEngine() { public ThymeleafEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(org.thymeleaf.TemplateEngine.class);
} }
/** /**

View File

@ -12,6 +12,7 @@
package org.dromara.hutool.extra.template.engine.velocity; package org.dromara.hutool.extra.template.engine.velocity;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.util.ObjUtil; import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
@ -36,6 +37,8 @@ public class VelocityEngine implements TemplateEngine {
* 默认构造 * 默认构造
*/ */
public VelocityEngine() { public VelocityEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(org.apache.velocity.app.VelocityEngine.class);
} }
/** /**

View File

@ -13,6 +13,7 @@
package org.dromara.hutool.extra.template.engine.wit; package org.dromara.hutool.extra.template.engine.wit;
import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.io.file.FileUtil;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.map.Dict; import org.dromara.hutool.core.map.Dict;
import org.dromara.hutool.extra.template.Template; import org.dromara.hutool.extra.template.Template;
import org.dromara.hutool.extra.template.TemplateConfig; import org.dromara.hutool.extra.template.TemplateConfig;
@ -37,7 +38,10 @@ public class WitEngine implements TemplateEngine {
/** /**
* 默认构造 * 默认构造
*/ */
public WitEngine() {} public WitEngine() {
// SPI方式加载时检查库是否引入
Assert.notNull(Engine.class);
}
/** /**
* 构造 * 构造