1.1、推断和设置“是否为 Web 环境”
功能位置 |
---|
// **************** org.springframework.boot.SpringApplication ******************/
private boolean webEnvironment;
private void initialize(Object[] sources) {//略...this.webEnvironment = deduceWebEnvironment();//略...
}
推断当前环境是否是web环境,并把推断结果(boolean)保存到SpringApplication 实例中。
如何推断的呢?其实就是加载 web环境下才有的类,加载成功说明是web环境,否则不是web环境。
下面是源码:
源码:
initialize(...)
|- deduceWebEnvironment()
// **************** org.springframework.boot.SpringApplication ******************/private static final String[] WEB_ENVIRONMENT_CLASSES = { "javax.servlet.Servlet","org.springframework.web.context.ConfigurableWebApplicationContext" };
/*** 检查classpath中是否同时存在{ "javax.servlet.Servlet","ConfigurableWebApplicationContext" },* 如果存在的话,返回true.否则返回false.*/
private boolean deduceWebEnvironment() {for (String className : WEB_ENVIRONMENT_CLASSES) {// classpath 下面没有指定的两个类,则表示不是web环境if (!ClassUtils.isPresent(className, null)) {return false;}}return true;
}// **************** org.springframework.util.ClassUtils ******************/
public static boolean isPresent(String className, ClassLoader classLoader) {try {// 当前类加载器加载 className 指定的类,报异常则表示classpath下没有该类forName(className, classLoader);return true;}catch (Throwable ex) {// Class or one of its dependencies is not present...return false;}
}
1.1-Q1 设置这个webEnvironment 做什么用?
搜索(ctrl+shift+g)所有读取 webEnvironment
的地方,打上断点,debug 程序看看…
1.1、推断和设置“是否为 Web 环境”相关推荐
- html5 ios cookie,iOS设置cookie到web遇到的坑
获取本地的cookie,[SystemConfigure shareSystemConfigure].get_kHttpURL]留意用自己本地的域名,获取本地的登录的cookie信息 - (NSStr ...
- 服务器win2003虚拟内存设置,winxp、win2003最正确的设置虚拟内存方法WEB服务器 -电脑资料...
我不是说如何支持4G以上内存的废话,地球人都知道装上2003SP2企业版即可支持了, 我一开始也是百思不得其解,以为2003系统就是这样的,也尝试用supercach.ramdisk这些软件解决,但这 ...
- Java web 环境搭建-Linux
文章目录 一.初识 Tomcat 二.Java web 环境:Nginx+JDK+Tomcat+MySQL 三.环境部署流程 3.1 安装 JDK(java 解析器) 3.1.1 首先安装 gcc 3 ...
- 阿里云linux centos 一键部署web环境--图文详解
阿里云linux centos 一键部署web环境--图文详解 标签: linux阿里云一键部署 2017-04-15 12:28 386人阅读 评论(0) 收藏 举报 分类: linux(11) ...
- centos6.5搭建php网站,Centos6.5下搭建web环境(Apache+mysql+php+phpMyAdmin)
转岗以后因为不太熟练一直没有怎么管理服务器,为了后续工作能够顺利展开,决定将之前的服务器重新搭建,并把某些需求整合避免以后管理起来会凌乱. 首先先把web环境给搭建起来,以下是搭建过程以作后续查证使用 ...
- spring 开发环境_设置Spring 3开发环境
spring 开发环境 本教程简要说明了如何设置典型的环境来开发基于Spring的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. 在教程 ...
- 设置Spring 3开发环境
本教程简要说明了如何设置典型的环境来开发基于Spring的应用程序. 除了可以正常工作的Windows XP客户端具有足够的CPU能力和内存外,本教程没有其他先决条件. 在教程中,我们将需要安装以下组 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- myeclipse9 maven web 环境
2019独角兽企业重金招聘Python工程师标准>>> 1. 使用Maven创建webapp工程----原因是使用Maven时一般需要遵循一定的目录结构,虽然也可以使用不同的目录结构 ...
最新文章
- LeetCode刷题-4
- 【廖雪峰python入门笔记】raw 字符串和多行字符串表示
- 送给同事的5个新年计划
- 中软国际入职java考核_中软国际技术人员入职试题2(Java)
- Android自定义控件系列
- 20181120-1 每周例行报告
- 设计模式:讲在设计模式之前
- Quickly Find/ Open a file in Visual Studio
- php 汉字unico编码范围,汉字 Unicode 编码范围
- 高等数学(同济第七版上)课后习题及解答
- Jmeter生成HTML性能测试报告
- 前端作品-网页弹钢琴
- 磊科路由器dns服务器老要修复,路由器dns异常解决方法
- 为什么选择电阻式温度传感器呢
- ink css,ink - 在线工具 - 前端之家
- 论今日头条背后的产品逻辑分析
- sqlalchemy 踩过的坑
- WannaCry勒索病毒分析过程**中**
- python word保存图_Python 将本地图片存储到 Word 文档
- ARIMA疫情期间港口靠挂数的时间序列分析
热门文章
- Java Applet 授权命令
- php的require 失败,PHP在require_once上失败
- mysql中如何迁移数据文件,迁移mysql数据文件存放位置
- dev-mysql_GitHub - intergrate-dev/mysql-elasticsearch
- hibernate id生成策略 mysql_Hibernate中ID生成策略
- 请键入 net helpmsg 3534 以获得更多的帮助。_身边有人得了抑郁症,可以做点什么帮助Ta?| 心理小课...
- long 和 Object的相互转换
- Linux下安装golang
- Android开发笔记(一百零九)利用网盘实现云存储
- python 生成器读取文件