今天在阅读springMVC源码的过程中,有了Aware的概念
其中有个接口叫做EnvironmentAware 环境通知。
可以获取到系统的环境信息,于是就研究了一下,得到的最终结果如下图:
具体获取步骤,代码如下:
创建类:SystemController 实现接口 EnvironmentAware
package org.moon.framework.controller; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment; import org.springframework.core.env.MutablePropertySources; import org.springframework.core.env.PropertySource; import org.springframework.core.env.PropertySources; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.context.support.StandardServletEnvironment; import java.lang.reflect.Field; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; /** * 获取系统环境信息 */ @Controller @RequestMapping(value = "/system") public class SystemController implements EnvironmentAware { private Environment environment = null; public void setEnvironment(Environment environment) { this.environment = environment; } private Properties properties = null; /** * 操作系统及服务器信息 */ private final String PROPERTIESKEY = "systemProperties"; private String defaultPropertiesKey = ""; public String getDefaultPropertiesKey() { return defaultPropertiesKey; } public void setDefaultPropertiesKey(String defaultPropertiesKey) { this.defaultPropertiesKey = defaultPropertiesKey; } private StandardServletEnvironment getStandardServletEnvironment(){ StandardServletEnvironment standardServletEnvironment = (StandardServletEnvironment) environment; return standardServletEnvironment; } private MutablePropertySources getMutablePropertySources(){ MutablePropertySources mutablePropertySources = getStandardServletEnvironment().getPropertySources(); return mutablePropertySources; } private PropertySource getPropertySource(){ String propertiesName = getDefaultPropertiesKey(); if(StringUtils.isBlank(propertiesName)){ throw new RuntimeException("please set default properties key...."); } PropertySource systemProperties = getMutablePropertySources().get(propertiesName); return systemProperties; } private Properties getProperties(){ Properties properties = (Properties) getPropertySource().getSource(); return properties; } private String getSystemConfigInfo(String key){ properties = getProperties(); String value = properties.get(key)+""; return value; } /** * 将服务器及服务器系统,web容器,java环境等全部信息封装成map * @return */ @RequestMapping("/computerConfig") @ResponseBody public Map<String,Object> getComputerConfig() { Map<String,Object> map = new HashMap<String, Object>(); setDefaultPropertiesKey(PROPERTIESKEY); Properties properties = getProperties(); for (Object key : properties.keySet()) { map.put(key.toString(),properties.get(key)); } return map; } }
我们来前端访问试试
希望对大家有帮助吧!
相关推荐
这个项目利用了四个关键的技术组件,它们分别是Maven、Spring、Spring MVC和MyBatis,这四个组件共同构成了一个强大且灵活的Java Web开发环境。 **Maven**是Apache软件基金会开发的一款项目管理和集成工具。它通过...
Spring MVC 是一个强大的Java框架,用于构建Web应用程序,特别是对于基于模型-视图-控制器(MVC)架构的应用。在本文中,我们将深入探讨如何利用Spring MVC创建RESTful服务,这些服务可以处理字符串、JSON和XML数据...
本书的核心在于深入浅出地介绍如何使用Java EE技术栈,特别是Spring、Spring MVC和MyBatis这三个关键框架,来构建高效、可维护的Web应用程序。 Java EE(Enterprise Edition)是Java平台的一个版本,主要用于开发和...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...
【标题】"maven与spring MVC"涉及到的是Java Web开发中的两个关键组件——Maven和Spring MVC,它们在构建和管理复杂项目时起着至关重要的作用。Maven是一个项目管理和综合工具,它通过提供一个标准化的构建过程和...
Spring框架是Java开发中最常用的轻量级框架之一...以上是Spring 5.1.4和Spring MVC的核心知识点,它们在Java Web开发中起着至关重要的作用。通过这些组件和特性,开发者可以构建出高效、灵活且易于维护的Web应用程序。
Spring 提供的 MockMVC 测试框架允许我们在不启动 Web 服务器和浏览器的情况下,对 Spring MVC 控制器进行单元测试。MockMVC 模拟 HTTP 请求并直接调用控制器,然后检查响应结果,这极大地简化了测试过程,并提高了...
4. **配置Jetty**:在Java代码中,你需要创建一个Jetty的Server实例,并配置ServletContextHandler来加载Spring MVC的配置文件。例如,你可以使用`WebAppContext`来加载你的Web应用。 5. **启动Jetty**:最后,启动...
6. **JSP和Servlet API**:Spring MVC依赖于Servlet容器(如Tomcat、Jetty)来运行,因此需要servlet-api和jsp-api的jar包,通常由Web应用服务器提供,但有时也需要在项目中显式声明。 7. **Jackson或Gson**:用于...
Java EE互联网轻量级框架整合开发,主要集中在SSM框架的使用上,即Spring MVC、Spring和MyBatis的集成,以及Redis缓存技术的引入。这个主题旨在提高Web应用的开发效率,优化性能,同时降低项目的复杂度。 首先,...
Java Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分,用于构建可维护、可扩展的 MVC(Model-View-Controller)应用程序。Spring MVC 提供了强大的依赖注入(Dependency ...
Spring MVC是Spring框架的一个模块,它为构建Web应用程序提供了模型-视图-控制器(MVC)架构。Maven则是一个强大的项目管理和依赖管理工具,能够帮助我们简化项目的构建过程。 首先,确保你已经安装了IntelliJ IDEA...
Spring MVC 是 Spring 框架的一个重要模块,它为构建基于Java的Web应用程序提供了一个强大的模型-视图-控制器(MVC)架构。Spring MVC 的设计允许开发者将业务逻辑、数据处理和用户界面分离,从而实现更好的可维护性...
Spring MVC 是 Spring 框架的一部分,主要用于构建基于 Java 的 Web 应用程序。它是一种模型-视图-控制器(Model-View-Controller,MVC)设计模式的实现,用于简化Web应用程序的开发过程。 **特点:** - **轻量级且...
在IT行业中,构建一个基于Java的Web应用常常涉及到多个组件的集成,如Eclipse作为IDE,Tomcat作为应用服务器,Maven作为项目管理和构建工具,以及Spring MVC作为Web层的框架。本教程将深入探讨如何将这些组件整合在...
在IT行业中,SSH框架组合是Java Web开发中的经典选择,由Spring、Spring MVC和Hibernate三个主要组件构成。这个"新SSH"案例实践旨在提供一个全面的教程,帮助开发者理解和掌握这三个框架如何协同工作以构建高效、...
本压缩包文件“自动配置和Spring MVC来创建一个RESTful Web服务.rar”提供了一个详细指南,教你如何利用Spring Boot和Spring MVC创建RESTful Web服务。以下是关于这些知识点的详细解释: 1. **Spring Boot**: ...
《基于Spring MVC、Spring、Hibernate和Maven的企业级员工信息管理系统》 在现代软件开发领域,企业级应用的构建往往离不开高效、稳定的框架支持。本系统以“spring mvc+spring+hibernate+maven”为核心技术栈,...
Spring框架是Java开发中广泛应用的一个开源框架,它主要负责提供依赖注入、面向切面编程以及容器管理等核心功能。Spring MVC则是Spring框架的一部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。本文将...