枚举
不知道你有没有发现,Spring Boot 是天然支持枚举方式注入类的。
private TimeUnit timeUnit = TimeUnit.MINUTES;
类实例
有些特殊场景中我们希望能通过配置的方式自定义去初始化Bean,比如:线程池。但在初始化 Bean 的时候需要对配置的 Class 对象初始化。
public static class ExecutorSetting {
private Class<? extends RejectedExecutionHandler> executionHandler = ThreadPoolExecutor.AbortPolicy.class;
}
Class 对象初始化实现,参考: org.apache.ibatis.logging.LogFactory.java
private static void setImplementation(Class<? extends Log> implClass) {
try {
Constructor<? extends Log> candidate = implClass.getConstructor(String.class);
Log log = candidate.newInstance(LogFactory.class.getName());
if (log.isDebugEnabled()) {
log.debug("Logging initialized using '" + implClass + "' adapter.");
}
logConstructor = candidate;
} catch (Throwable t) {
throw new LogException("Error setting Log implementation. Cause: " + t, t);
}
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。