mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix code
This commit is contained in:
parent
7312ee7e95
commit
e4b7a700c1
@ -12,12 +12,11 @@
|
|||||||
|
|
||||||
package org.dromara.hutool.core.lang;
|
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.func.SerSupplier;
|
||||||
import org.dromara.hutool.core.map.SafeConcurrentHashMap;
|
import org.dromara.hutool.core.map.SafeConcurrentHashMap;
|
||||||
import org.dromara.hutool.core.reflect.ConstructorUtil;
|
import org.dromara.hutool.core.reflect.ConstructorUtil;
|
||||||
import org.dromara.hutool.core.text.StrUtil;
|
import org.dromara.hutool.core.text.StrUtil;
|
||||||
import org.dromara.hutool.core.array.ArrayUtil;
|
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@ -66,21 +65,6 @@ public final class Singleton {
|
|||||||
return (T) POOL.computeIfAbsent(key, (k)-> supplier.get());
|
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做为键
|
* 将已有对象放入单例中,其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;
|
package org.dromara.hutool.log;
|
||||||
|
|
||||||
import org.dromara.hutool.core.lang.Singleton;
|
|
||||||
import org.dromara.hutool.log.engine.LogEngineFactory;
|
import org.dromara.hutool.log.engine.LogEngineFactory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -29,7 +28,7 @@ public abstract class LogFactory {
|
|||||||
* @return 日志对象
|
* @return 日志对象
|
||||||
*/
|
*/
|
||||||
public static Log getLog(final String name) {
|
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 日志对象
|
* @return 日志对象
|
||||||
*/
|
*/
|
||||||
public static Log getLog(final Class<?> clazz) {
|
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;
|
package org.dromara.hutool.log.engine;
|
||||||
|
|
||||||
|
import org.dromara.hutool.core.lang.Singleton;
|
||||||
import org.dromara.hutool.log.Log;
|
import org.dromara.hutool.log.Log;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -44,4 +45,26 @@ public interface LogEngine {
|
|||||||
* @return 日志对象
|
* @return 日志对象
|
||||||
*/
|
*/
|
||||||
Log createLog(Class<?> clazz);
|
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.info(null);
|
||||||
log.warn(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