mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
fix code
This commit is contained in:
parent
7312ee7e95
commit
e4b7a700c1
@ -12,12 +12,11 @@
|
||||
|
||||
package org.dromara.hutool.core.lang;
|
||||
|
||||
import org.dromara.hutool.core.classloader.ClassLoaderUtil;
|
||||
import org.dromara.hutool.core.array.ArrayUtil;
|
||||
import org.dromara.hutool.core.func.SerSupplier;
|
||||
import org.dromara.hutool.core.map.SafeConcurrentHashMap;
|
||||
import org.dromara.hutool.core.reflect.ConstructorUtil;
|
||||
import org.dromara.hutool.core.text.StrUtil;
|
||||
import org.dromara.hutool.core.array.ArrayUtil;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
@ -66,21 +65,6 @@ public final class Singleton {
|
||||
return (T) POOL.computeIfAbsent(key, (k)-> supplier.get());
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得指定类的单例对象<br>
|
||||
* 对象存在于池中返回,否则创建,每次调用此方法获得的对象为同一个对象<br>
|
||||
*
|
||||
* @param <T> 单例对象类型
|
||||
* @param className 类名
|
||||
* @param params 构造参数
|
||||
* @return 单例对象
|
||||
*/
|
||||
public static <T> T get(final String className, final Object... params) {
|
||||
Assert.notBlank(className, "Class name must be not blank !");
|
||||
final Class<T> clazz = ClassLoaderUtil.loadClass(className);
|
||||
return get(clazz, params);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将已有对象放入单例中,其Class做为键
|
||||
*
|
||||
|
@ -0,0 +1,25 @@
|
||||
/*
|
||||
* 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.db;
|
||||
|
||||
import org.dromara.hutool.setting.Setting;
|
||||
import org.junit.jupiter.api.Assertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class GlobalDbConfigTest {
|
||||
@Test
|
||||
void loadSettingTest() {
|
||||
final Setting dbSetting = GlobalDbConfig.createDbSetting();
|
||||
Assertions.assertNotNull(dbSetting);
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* 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.db;
|
||||
|
||||
import org.dromara.hutool.db.ds.DSUtil;
|
||||
import org.junit.jupiter.api.Disabled;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class IssueI73770Test {
|
||||
|
||||
@Test
|
||||
@Disabled
|
||||
void pageTest() {
|
||||
DSUtil.getDS("mysql");
|
||||
}
|
||||
}
|
@ -12,7 +12,6 @@
|
||||
|
||||
package org.dromara.hutool.log;
|
||||
|
||||
import org.dromara.hutool.core.lang.Singleton;
|
||||
import org.dromara.hutool.log.engine.LogEngineFactory;
|
||||
|
||||
/**
|
||||
@ -29,7 +28,7 @@ public abstract class LogFactory {
|
||||
* @return 日志对象
|
||||
*/
|
||||
public static Log getLog(final String name) {
|
||||
return Singleton.get(name, () -> LogEngineFactory.getEngine().createLog(name));
|
||||
return LogEngineFactory.getEngine().getLog(name);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -39,6 +38,6 @@ public abstract class LogFactory {
|
||||
* @return 日志对象
|
||||
*/
|
||||
public static Log getLog(final Class<?> clazz) {
|
||||
return Singleton.get(clazz.getName(), () -> LogEngineFactory.getEngine().createLog(clazz));
|
||||
return LogEngineFactory.getEngine().getLog(clazz);
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
|
||||
package org.dromara.hutool.log.engine;
|
||||
|
||||
import org.dromara.hutool.core.lang.Singleton;
|
||||
import org.dromara.hutool.log.Log;
|
||||
|
||||
/**
|
||||
@ -44,4 +45,26 @@ public interface LogEngine {
|
||||
* @return 日志对象
|
||||
*/
|
||||
Log createLog(Class<?> clazz);
|
||||
|
||||
/**
|
||||
* 获得日志对象(单例)
|
||||
*
|
||||
* @param name 日志对象名
|
||||
* @return 日志对象
|
||||
*/
|
||||
default Log getLog(final String name) {
|
||||
// 将引擎名称和日期名称关联,以便在引擎更换后重新获取引擎。
|
||||
return Singleton.get(getName() + name, () -> createLog(name));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得日志对象(单例)
|
||||
*
|
||||
* @param clazz 日志对应类
|
||||
* @return 日志对象
|
||||
*/
|
||||
default Log getLog(final Class<?> clazz) {
|
||||
// 将引擎名称和日期名称关联,以便在引擎更换后重新获取引擎。
|
||||
return Singleton.get(getName() + clazz.getName(), () -> createLog(clazz));
|
||||
}
|
||||
}
|
||||
|
@ -39,4 +39,9 @@ public class LogTest {
|
||||
log.info(null);
|
||||
log.warn(null);
|
||||
}
|
||||
|
||||
@Test
|
||||
void getLogByClassTest() {
|
||||
Log.get(LogTest.class);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
* 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.log;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class StaticLogTest {
|
||||
private static final Log log = Log.get();
|
||||
|
||||
@Test
|
||||
void infoTest() {
|
||||
log.info("Static final Logger test");
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user