Latke 初始化
在 Service 类中
首先获取当前的路径(包名)
在执行 init()方法
private static Properties localProps; private static Properties latkeProps; public static synchronized void init() { // inited : 标识符 , 用来检测是否进行过初始化 if (inited) { return; } inited = true; LOGGER.log(Level.TRACE, "Initializing Latke"); // 读取 latke.properties文件内容,获取后赋给上面的静态变量 latke的配置信息 loadLatkeProps(); // 读取 local.properties文件内容,获取后赋给上面的静态变量 数据库的配置信息 loadLocalProps(); //检测latke的运行环境(可以在latke.properties中配置) if (null == runtimeMode) { //判断在latke中有没有配置运行环境 final String runtimeModeValue = getLatkeProperty("runtimeMode"); if (null != runtimeModeValue) { //获取到后使用获取的运行环境 runtimeMode = RuntimeMode.valueOf(runtimeModeValue); } else { LOGGER.log(Level.TRACE, "Can't parse runtime mode in latke.properties, default to [PRODUCTION]"); //没有获取到(没有配置)默认使用生产环境 runtimeMode = RuntimeMode.PRODUCTION; } } //log日志的信息 如果你的环境是开发环境他会告诉你现在是开发环境,还有一个生产环境可以选择 if (Latkes.RuntimeMode.DEVELOPMENT == getRuntimeMode()) { LOGGER.warn("!!!!Runtime mode is [" + Latkes.RuntimeMode.DEVELOPMENT + "], please make sure configured it with [" + Latkes.RuntimeMode.PRODUCTION + "] in latke.properties if deployed on production environment!!!!"); } else { //告诉你现在是生产环境 LOGGER.log(Level.DEBUG, "Runtime mode is [{}]", getRuntimeMode()); } //获取数据库配置 考诉你用的是什么数据库 final RuntimeDatabase runtimeDatabase = getRuntimeDatabase(); LOGGER.log(Level.DEBUG, "Runtime database is [{}]", runtimeDatabase); //获取缓存配置 考诉你用的是什么缓存(本地/Redis/没有) final RuntimeCache runtimeCache = getRuntimeCache(); LOGGER.log(Level.INFO, "Runtime cache is [{}]", runtimeCache); // Locale : 国际化对象 下面用来指定默认的语言类型为中文 Locale.setDefault(Locale.SIMPLIFIED_CHINESE); //获取所有的类 final Collection<Class<?>> beanClasses = Discoverer.discover(Latkes.getScanPath()); //添加进容器中 BeanManager.start(beanClasses); //初始化完成 LOGGER.log(Level.INFO, "Initialized Latke"); }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于