Spring整合SpringMVC

Spring整合SpringMVC的方式是父子容器形式
父容器Spring管理Service、Dao层的Bean
子容器SpringMVC管理Controller的Bean
子容器可以访问父容器的Bean,父容器无法访问子容器的Bean

而SpringBoot是SpringMVC零Xml配置基础上出现的,那SpringMVC的零Xml配置是如何实现的?

就是把web.xml中负责父容器ContextLoaderListener和子容器DispatcherServlet通过其他方式注入进来
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><!--spring 基于web应用的启动--><listener><listener-class>org.springframework.web.context.c'c'c'c</listener-class></listener><!--全局参数:spring配置文件--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-core.xml</param-value></context-param><!--配置前端控制器、核心调度器 加载spring容器--><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.c'c</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><!--/ 除了jsp所有请求都会被匹配--><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>
  1. 零配置SpringMVC实现方式一:注解方式
@WebServlet
@WebFilter
@WebListener

这种方式不利于扩展,编写在jar包中tomcat无法感知到

  1. 零配置SpringMVC实现方式一:SPI方式
    在Serlvet3-1的规范手册8.2.4:共享库可插拔方式
    https://javaee.github.io/servlet-spec/downloads/servlet-3.1/Final/servlet-3_1-final.pdf
    在这里插入图片描述

自己应用:META-INF/services/javax.servlet.ServletContainerInitailizer ----- 即SPI规范

通过java.util.ServiceLoader.load(Interface.class) 可以完成SPI的实现类加载

在这里插入图片描述
SpringMVC中, 接口文件和实现类都把我们实现好了,ContextLoaderListener和DispatcherServlet都已注册,我们只让他生效即可

我们也可以自己提供动态添加servlet
在这里插入图片描述

/*** @HandlesTypes注解由Servlet容器提供支持(实现),* 参数中指定的所有实现类,利用字节码扫描框架(例如ASM、BCEL)从classpath中扫描出来,* 放入集合,传给回调方法onStartup的第一个参数** @HandlesTypes(WebApplicationInitializer.class)* Tomcat 启动时执行StandardContext的startInternal方法时,* 发布CONFIGURE_START_EVENT事件,ContextConfig会接收到此事件(ContextConfig.lifecycleEvent->configureStart->webConfig->processServletContainerInitializers加载ServletContainerInitializer实现类)* 并执行ServletContainerInitializer实现类的onStartup方法*/
@HandlesTypes(WebApplicationInitializer.class)
public class MxSpringServletContainerInitializer extends SpringServletContainerInitializer {/*** @param webAppInitializerClasses 感兴趣类的集合* {@link WebApplicationInitializer} found on the application classpath* @param servletContext Tomcat传过来的一个ServletContext* @throws ServletException*/@Overridepublic void onStartup(Set<Class<?>> webAppInitializerClasses, ServletContext servletContext) throws ServletException {// 通过servletContext动态添加ServletservletContext.addServlet("mxSpiServlet", new HttpServlet() {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {resp.getWriter().write("mxSpiServlet--doGet");}}).addMapping("/mxSpiServlet.do");}
}
  1. 基于SPI规范实现SpringMVC

WebApplicationInitializer的三个默认实现
AbstractContextLoaderInitializer
AbstractDispatcherServletInitializer
AbstractAnnotationConfigDispatcherServletInitializer

 * @author Chris Beams* @since 3.1* @see SpringServletContainerInitializer* @see org.springframework.web.context.AbstractContextLoaderInitializer* @see org.springframework.web.servlet.support.AbstractDispatcherServletInitializer* @see org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer*/
public interface WebApplicationInitializer {/*** Configure the given {@link ServletContext} with any servlets, filters, listeners* context-params and attributes necessary for initializing this web application. See* examples {@linkplain WebApplicationInitializer above}.* @param servletContext the {@code ServletContext} to initialize* @throws ServletException if any call against the given {@code ServletContext}* throws a {@code ServletException}*/void onStartup(ServletContext servletContext) throws ServletException;}

基于AbstractAnnotationConfigDispatcherServletInitializer的实现

/*** 通过spi的机制加载 classpath下ServletContainerInitializer* Tomcat 启动时执行StandardContext的startInternal方法时,* 发布CONFIGURE_START_EVENT事件,ContextConfig会接收到此事件(ContextConfig.lifecycleEvent->configureStart->webConfig->processServletContainerInitializers加载ServletContainerInitializer实现类)* 并执行ServletContainerInitializer实现类的onStartup方法*/
public class MxStarterInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {/*** 提供父容器的配置类* @return*/@Overrideprotected Class<?>[] getRootConfigClasses() {return new Class[]{RootConfig.class};}/*** 提供子容器的配置类* @return*/@Overrideprotected Class<?>[] getServletConfigClasses() {return new Class[]{WebAppConfig.class};}/*** 设置DispatcherServlet的映射* @return*/@Overrideprotected String[] getServletMappings() {return new String[]{"/"};}
}

父容器的配置类=以前的spring.xml
扫描的包排除@Controller
RootConfig.class

@Configuration
@ComponentScan(basePackages = "com.mx",excludeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value={Controller.class}),@ComponentScan.Filter(type = ASSIGNABLE_TYPE,value =WebAppConfig.class ),
})
public class RootConfig {
}

子容器的配置类=以前的spring-mvc.xml
扫描的包:包含@Controller
WebAppConfig.class

@Configuration
@ComponentScan(basePackages = {"com.mx"},includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION,value = {RestController.class, Controller.class})
},useDefaultFilters =false)
@EnableWebMvc   // 替换之前的 <mvc:annotation-driven/>
public class WebAppConfig implements WebMvcConfigurer{/*** 配置拦截器* @return*/@Beanpublic TulingInterceptor tulingInterceptor() {return new TulingInterceptor();}/*** 文件上传下载的组件* @return*/@Beanpublic MultipartResolver multipartResolver() {CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();multipartResolver.setDefaultEncoding("UTF-8");multipartResolver.setMaxUploadSize(1024*1024*10);return multipartResolver;}/*** 注册处理国际化资源的组件* @return*/@Beanpublic AcceptHeaderLocaleResolver localeResolver() {AcceptHeaderLocaleResolver acceptHeaderLocaleResolver = new AcceptHeaderLocaleResolver();return acceptHeaderLocaleResolver;}@Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(tulingInterceptor()).addPathPatterns("/*");}/*** 配置视图解析器*/@Beanpublic InternalResourceViewResolver internalResourceViewResolver() {InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();viewResolver.setSuffix(".jsp");viewResolver.setPrefix("/WEB-INF/jsp/");return viewResolver;}/*不需要啊@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {converters.add(new MappingJackson2HttpMessageConverter());}*/}

SPI的方式SpringMVC启动原理

Tomcat.startup->StandardContext->ContextConfig->ServletContainerInitializer->startup

在这里插入图片描述

  1. 调用SpringServletContainerInitializer.onStartUp()
/** Copyright 2002-2020 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at**      https://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*/package org.springframework.web;import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.ServiceLoader;
import java.util.Set;import javax.servlet.ServletContainerInitializer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.HandlesTypes;import org.springframework.core.annotation.AnnotationAwareOrderComparator;
import org.springframework.lang.Nullable;
import org.springframework.util.ReflectionUtils;/*** Servlet 3.0 {@link ServletContainerInitializer} designed to support code-based* configuration of the servlet container using Spring's {@link WebApplicationInitializer}* SPI as opposed to (or possibly in combination with) the traditional* {@code web.xml}-based approach.** <h2>Mechanism of Operation</h2>* This class will be loaded and instantiated and have its {@link #onStartup}* method invoked by any Servlet 3.0-compliant container during container startup assuming* that the {@code spring-web} module JAR is present on the classpath. This occurs through* the JAR Services API {@link ServiceLoader#load(Class)} method detecting the* {@code spring-web} module's {@code META-INF/services/javax.servlet.ServletContainerInitializer}* service provider configuration file. See the* <a href="https://download.oracle.com/javase/6/docs/technotes/guides/jar/jar.html#Service%20Provider">* JAR Services API documentation</a> as well as section <em>8.2.4</em> of the Servlet 3.0* Final Draft specification for complete details.** <h3>In combination with {@code web.xml}</h3>* A web application can choose to limit the amount of classpath scanning the Servlet* container does at startup either through the {@code metadata-complete} attribute in* {@code web.xml}, which controls scanning for Servlet annotations or through an* {@code <absolute-ordering>} element also in {@code web.xml}, which controls which* web fragments (i.e. jars) are allowed to perform a {@code ServletContainerInitializer}* scan. When using this feature, the {@link SpringServletContainerInitializer}* can be enabled by adding "spring_web" to the list of named web fragments in* {@code web.xml} as follows:** <pre class="code">* &lt;absolute-ordering&gt;*   &lt;name>some_web_fragment&lt;/name&gt;*   &lt;name>spring_web&lt;/name&gt;* &lt;/absolute-ordering&gt;* </pre>** <h2>Relationship to Spring's {@code WebApplicationInitializer}</h2>* Spring's {@code WebApplicationInitializer} SPI consists of just one method:* {@link WebApplicationInitializer#onStartup(ServletContext)}. The signature is intentionally* quite similar to {@link ServletContainerInitializer#onStartup(Set, ServletContext)}:* simply put, {@code SpringServletContainerInitializer} is responsible for instantiating* and delegating the {@code ServletContext} to any user-defined* {@code WebApplicationInitializer} implementations. It is then the responsibility of* each {@code WebApplicationInitializer} to do the actual work of initializing the* {@code ServletContext}. The exact process of delegation is described in detail in the* {@link #onStartup onStartup} documentation below.** <h2>General Notes</h2>* In general, this class should be viewed as <em>supporting infrastructure</em> for* the more important and user-facing {@code WebApplicationInitializer} SPI. Taking* advantage of this container initializer is also completely <em>optional</em>: while* it is true that this initializer will be loaded and invoked under all Servlet 3.0+* runtimes, it remains the user's choice whether to make any* {@code WebApplicationInitializer} implementations available on the classpath. If no* {@code WebApplicationInitializer} types are detected, this container initializer will* have no effect.** <p>Note that use of this container initializer and of {@code WebApplicationInitializer}* is not in any way "tied" to Spring MVC other than the fact that the types are shipped* in the {@code spring-web} module JAR. Rather, they can be considered general-purpose* in their ability to facilitate convenient code-based configuration of the* {@code ServletContext}. In other words, any servlet, listener, or filter may be* registered within a {@code WebApplicationInitializer}, not just Spring MVC-specific* components.** <p>This class is neither designed for extension nor intended to be extended.* It should be considered an internal type, with {@code WebApplicationInitializer}* being the public-facing SPI.** <h2>See Also</h2>* See {@link WebApplicationInitializer} Javadoc for examples and detailed usage* recommendations.<p>** @author Chris Beams* @author Juergen Hoeller* @author Rossen Stoyanchev* @since 3.1* @see #onStartup(Set, ServletContext)* @see WebApplicationInitializer*/
@HandlesTypes(WebApplicationInitializer.class)
public class SpringServletContainerInitializer implements ServletContainerInitializer {/*** Delegate the {@code ServletContext} to any {@link WebApplicationInitializer}* implementations present on the application classpath.* <p>Because this class declares @{@code HandlesTypes(WebApplicationInitializer.class)},* Servlet 3.0+ containers will automatically scan the classpath for implementations* of Spring's {@code WebApplicationInitializer} interface and provide the set of all* such types to the {@code webAppInitializerClasses} parameter of this method.* <p>If no {@code WebApplicationInitializer} implementations are found on the classpath,* this method is effectively a no-op. An INFO-level log message will be issued notifying* the user that the {@code ServletContainerInitializer} has indeed been invoked but that* no {@code WebApplicationInitializer} implementations were found.* <p>Assuming that one or more {@code WebApplicationInitializer} types are detected,* they will be instantiated (and <em>sorted</em> if the @{@link* org.springframework.core.annotation.Order @Order} annotation is present or* the {@link org.springframework.core.Ordered Ordered} interface has been* implemented). Then the {@link WebApplicationInitializer#onStartup(ServletContext)}* method will be invoked on each instance, delegating the {@code ServletContext} such* that each instance may register and configure servlets such as Spring's* {@code DispatcherServlet}, listeners such as Spring's {@code ContextLoaderListener},* or any other Servlet API componentry such as filters.* @param webAppInitializerClasses all implementations of* {@link WebApplicationInitializer} found on the application classpath* @param servletContext the servlet context to be initialized* @see WebApplicationInitializer#onStartup(ServletContext)* @see AnnotationAwareOrderComparator*/@Overridepublic void onStartup(@Nullable Set<Class<?>> webAppInitializerClasses, ServletContext servletContext)throws ServletException {List<WebApplicationInitializer> initializers = Collections.emptyList();if (webAppInitializerClasses != null) {initializers = new ArrayList<>(webAppInitializerClasses.size());for (Class<?> waiClass : webAppInitializerClasses) {// 接口和抽象类servlet容器也会给我们,但是我们不要// 排除接口和容器if (!waiClass.isInterface() && !Modifier.isAbstract(waiClass.getModifiers()) &&WebApplicationInitializer.class.isAssignableFrom(waiClass)) {try {// 实例化,然后添加到集合中initializers.add((WebApplicationInitializer)ReflectionUtils.accessibleConstructor(waiClass).newInstance());}catch (Throwable ex) {throw new ServletException("Failed to instantiate WebApplicationInitializer class", ex);}}}}if (initializers.isEmpty()) {servletContext.log("No Spring WebApplicationInitializer types detected on classpath");return;}servletContext.log(initializers.size() + " Spring WebApplicationInitializers detected on classpath");AnnotationAwareOrderComparator.sort(initializers);// 调用initializer.onStartup  进行扩展for (WebApplicationInitializer initializer : initializers) {initializer.onStartup(servletContext);}}}

在这里插入图片描述

  1. AbstractDispatcherServletInitializer.onStartup
	@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {//实例化我们的spring上下文super.onStartup(servletContext);//注册我们的DispatcherServlet创建我们springweb上下文对象registerDispatcherServlet(servletContext);}

2.1 父容器
AbstractContextLoaderInitializer.onStartup

	@Overridepublic void onStartup(ServletContext servletContext) throws ServletException {registerContextLoaderListener(servletContext);}protected void registerContextLoaderListener(ServletContext servletContext) {// 创建父容器 ,WebApplicationContext rootAppContext = createRootApplicationContext();if (rootAppContext != null) {ContextLoaderListener listener = new ContextLoaderListener(rootAppContext);// 设置初始化器listener.setContextInitializers(getRootApplicationContextInitializers());servletContext.addListener(listener);}else {logger.debug("No ContextLoaderListener registered, as " +"createRootApplicationContext() did not return an application context");}}

AbstractAnnotationConfigDispatcherServletInitializer.createRootApplicationContext
创建父容器,注册配置类

	@Override@Nullableprotected WebApplicationContext createRootApplicationContext() {Class<?>[] configClasses = getRootConfigClasses();if (!ObjectUtils.isEmpty(configClasses)) {AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();context.register(configClasses);return context;}else {return null;}}

2.2 子容器
AbstractDispatcherServletInitializer.registerDispatcherServlet

	protected void registerDispatcherServlet(ServletContext servletContext) {this.servletContext = servletContext;String servletName = getServletName();Assert.hasLength(servletName, "getServletName() must not return null or empty");// 创建子容器WebApplicationContext servletAppContext = createServletApplicationContext();Assert.notNull(servletAppContext, "createServletApplicationContext() must not return null");// 创建DispatcherServletFrameworkServlet dispatcherServlet = createDispatcherServlet(servletAppContext);Assert.notNull(dispatcherServlet, "createDispatcherServlet(WebApplicationContext) must not return null");// 初始化器dispatcherServlet.setContextInitializers(getServletApplicationContextInitializers());ServletRegistration.Dynamic registration = servletContext.addServlet(servletName, dispatcherServlet);if (registration == null) {throw new IllegalStateException("Failed to register servlet with name '" + servletName + "'. " +"Check if there is another servlet registered under the same name.");}// 启动时加载registration.setLoadOnStartup(1);// 映射registration.addMapping(getServletMappings());// 是否异步支持registration.setAsyncSupported(isAsyncSupported());// 设置DispatcherServlet的过滤器Filter[] filters = getServletFilters();if (!ObjectUtils.isEmpty(filters)) {for (Filter filter : filters) {registerServletFilter(servletContext, filter);}}// 空方法, 可以再对DispatcherServlet进行定制customizeRegistration(registration);}

AbstractAnnotationConfigDispatcherServletInitializer.createServletApplicationContext
创建子容器

	@Overrideprotected WebApplicationContext createServletApplicationContext() {AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();Class<?>[] configClasses = getServletConfigClasses();if (!ObjectUtils.isEmpty(configClasses)) {context.register(configClasses);}return context;}
  1. 初始化ContextLoaderListener

Servlet的init方法 HttpServletBean.init->FrameworkServlet.initServletBean->FrameworkServlet.initWebApplicationContext

	protected WebApplicationContext initWebApplicationContext() {// 获得ContextLoaderListener存的父容器WebApplicationContext rootContext =WebApplicationContextUtils.getWebApplicationContext(getServletContext());WebApplicationContext wac = null;if (this.webApplicationContext != null) {// 获得子容器wac = this.webApplicationContext;if (wac instanceof ConfigurableWebApplicationContext) {ConfigurableWebApplicationContext cwac = (ConfigurableWebApplicationContext) wac;if (!cwac.isActive()) {// 如果没有设置父容器   spring  doGetBeanif (cwac.getParent() == null) {cwac.setParent(rootContext);}// 配置并且加载子容器configureAndRefreshWebApplicationContext(cwac);}}}if (wac == null) {// 从servlet上下文根据<contextAttribute>名字从域里面获取wac = findWebApplicationContext();}if (wac == null) {// xml会在这里创建wac = createWebApplicationContext(rootContext);}//refreshEventReceived 它会在容器加载完设置为true (通过事件onApplicationEvent)// springboot在这初始化组件if (!this.refreshEventReceived) {synchronized (this.onRefreshMonitor) {onRefresh(wac);}}if (this.publishContext) {// 将当前容器放到servlet域中, 可以再创建子容器String attrName = getServletContextAttributeName();getServletContext().setAttribute(attrName, wac);}return wac;}

FrameworkServlet.configureAndRefreshWebApplicationContext
配置并且加载子容器refrsh

	protected void configureAndRefreshWebApplicationContext(ConfigurableWebApplicationContext wac) {if (ObjectUtils.identityToString(wac).equals(wac.getId())) {// 设置idif (this.contextId != null) {wac.setId(this.contextId);}else {// Generate default id...wac.setId(ConfigurableWebApplicationContext.APPLICATION_CONTEXT_ID_PREFIX +ObjectUtils.getDisplayString(getServletContext().getContextPath()) + '/' + getServletName());}}// 设置servlet上下文wac.setServletContext(getServletContext());wac.setServletConfig(getServletConfig());wac.setNamespace(getNamespace());// 监听器  委托设计模式wac.addApplicationListener(new SourceFilteringListener(wac, new ContextRefreshListener()));// 将init-param设置到Environment中ConfigurableEnvironment env = wac.getEnvironment();if (env instanceof ConfigurableWebEnvironment) {((ConfigurableWebEnvironment) env).initPropertySources(getServletContext(), getServletConfig());}// 空方法可扩展postProcessWebApplicationContext(wac);// 容器启动前初始化applyInitializers(wac);wac.refresh();}

AbstractApplicationContext.refresh (Spring核心方法)

  1. 初始化DispatcherServlet

AbstractApplicationContext.refresh->AbstractApplicationContext.finishRefresh(Spring生命周期 lifecycleProcessor、发布事件 ContextRefreshedEvent)
publishEvent(new ContextRefreshedEvent(this))

FrameworkServlet 内部类ContextRefreshListener监听 ContextRefreshedEvent

	private class ContextRefreshListener implements ApplicationListener<ContextRefreshedEvent> {@Overridepublic void onApplicationEvent(ContextRefreshedEvent event) {FrameworkServlet.this.onApplicationEvent(event);}}

FrameworkServlet.onApplicationEvent

	public void onApplicationEvent(ContextRefreshedEvent event) {this.refreshEventReceived = true;synchronized (this.onRefreshMonitor) {onRefresh(event.getApplicationContext());}}

FrameworkServlet实现类DispatcherServlet的onRefresh方法

	@Overrideprotected void onRefresh(ApplicationContext context) {initStrategies(context);}/**初始化策略,加了s都是多个* Initialize the strategy objects that this servlet uses.* <p>May be overridden in subclasses in order to initialize further strategy objects.*/protected void initStrategies(ApplicationContext context) {//初始化我们web上下文对象的 用于文件上传下载的解析器对象initMultipartResolver(context);//初始化我们web上下文对象用于处理国际化资源的initLocaleResolver(context);//主题解析器对象初始化initThemeResolver(context);//初始化我们的HandlerMappinginitHandlerMappings(context);//实例化我们的HandlerAdaptersinitHandlerAdapters(context);//实例化我们处理器异常解析器对象initHandlerExceptionResolvers(context);initRequestToViewNameTranslator(context);//给DispatcherSerlvet的ViewResolvers处理器initViewResolvers(context);initFlashMapManager(context);}

基本都是从容器中拿到已经配置的Bean(RequestMappingHandlerMapping、RequestMappingHandlerAdapter、HandlerExceptionResolver )放到dispatcherServlet中做准备

这些类来自WebAppConfig中的@EnableWebMvc

EnableWebMvc

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import(DelegatingWebMvcConfiguration.class)
public @interface EnableWebMvc {
}

DelegatingWebMvcConfiguration父类WebMvcConfigurationSupport就配置了这些Bean

	@Bean@SuppressWarnings("deprecation")public RequestMappingHandlerMapping requestMappingHandlerMapping(@Qualifier("mvcContentNegotiationManager") ContentNegotiationManager contentNegotiationManager,@Qualifier("mvcConversionService") FormattingConversionService conversionService,@Qualifier("mvcResourceUrlProvider") ResourceUrlProvider resourceUrlProvider) {RequestMappingHandlerMapping mapping = createRequestMappingHandlerMapping();...........

SpringBoot也是用的这种方式

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. UA OPTI544 量子光学2 光与介质相互作用的经典力学方法

    UA OPTI544 量子光学2 光与介质相互作用的经典力学方法Lorentz模型Complex PolarizabilityComplex index of refraction气体介质中的吸收与散射自由电子中的吸收与散射光对电偶极子施加的力黑体和头上带箭头的都表示向量&#xff0c;头上带小尖帽的表示单位向量 Lorentz模型 …...

    2024/4/19 13:05:27
  2. idea报错“NoSuchMethodError“

    java.lang.NoSuchMethodError: com.offcn.entity.Result.<init>(ZILjava/lang/String;Ljava/lang/Object;)原因&#xff1a;返回Resul对象时未加泛型 修改后&#xff1a;...

    2024/4/16 9:33:09
  3. 车的系统部分原理-简要笔记【亟待整理】

    车身电子稳定系统&#xff08;ESP&#xff09;&#xff0c;是对旨在提升车辆的操控表现的同时、有效地防止汽车达到其动态极限时失控的系统或程序的通称。电子稳定程序能提升车辆的安全性和操控性。 参考资料 车身电子稳定系统_百度百科 什么情况下才能关掉ESP&#xff1f;别…...

    2024/4/19 4:18:48
  4. 【联盛德W806上手笔记】八、SPI及其DMA

    目录高速 SPI 设备控制器库函数函数参数宏应用示例初始化引脚复用中断相关使用注意事项DataAlignmentDirection测试main.cwm_hal_msp.cwm_it.c其他改动实验现象Windows 10 20H2 HLK-W806-V1.0-KIT WM_SDK_W806_v0.6.0 摘自《W806 芯片设计指导书 V1.0》、《W806 MCU 芯片规格书…...

    2024/4/14 2:32:38
  5. 数的分解蓝桥杯

    #include <iostream> using namespace std; int f(int n) { int flag1; while(n>0){ int kn%10; if(k2 || k4) //只要数字中含有2或4就立刻返回 { flag 0; return flag; } n/10; }return flag; } int main() { int a,b,c,s0; for(a1;a<673;a)//a的范围2019的三分…...

    2024/4/19 9:04:05
  6. 第8期:2021牛客寒假算法基础集训营1

    A-串 //dp待补 #include<iostream> using namespace std; #define int long long const int N1e97; signed main(){int n;cin>>n;int dp[n1][3];int ans0;dp[1][0]25,dp[1][1]1,dp[1][2]0;for(int i2;i<n;i){dp[i][0]dp[i-1][0]*25;dp[i][0]%N;dp[i][1]dp[i-1]…...

    2024/4/14 2:32:43
  7. 【总结】Vue 组件升级 - 插槽

    业务场景: 当组件内某一部分标签不确定 作用: 1.让组件的复用性更强, 灵活度更高 2.组件内部标签不确定时, 可以通过插槽传入 用法: 基本使用 在子组件中使用 slot 标签占位 在父组件中传入标签替换 slot 默认内容 在 slot 中设置默认内容 具名插槽 业务场景: 组件…...

    2024/4/14 2:33:08
  8. OpenCV 轮廓周围绘制矩形框和圆形框

    文章目录轮廓周围绘制介绍相关API减少多边形轮廓点数&#xff1a;approxPolyDP轮廓周围绘制矩形&#xff1a;boundingRect、minAreaRect轮廓周围绘制圆和椭圆&#xff1a;minEnclosingCircle、fitEllipse绘制步骤代码示例轮廓周围绘制介绍 没什么概念&#xff0c;就是给得出来…...

    2024/4/14 2:32:48
  9. 【2021年度总结】不断学习的卡卡

    【2021年度总结】不断学习的卡卡 可能有人会说2021年的总结问什么要这个时候发&#xff0c;其实吧就是想等一等属于我的一个节点&#xff1b;因为20年的这一天我赚到了毕业后的第一桶金&#xff0c;并且也跟我最重要的那个她走到了一起&#xff1b;在我看来可能这个节点才是属于…...

    2024/4/14 2:32:38
  10. 靶场练习第二天~vulnhub靶场之 THE PLANETS: EARTH

    前期准备&#xff1a; 靶机下载链接: https://pan.baidu.com/s/1_w8OZOPVsQaojq2rnKcdRA 提取码: gguw kali攻击机ip&#xff1a;192.168.101.10 靶机地址&#xff1a;192.168.101.101 一、信息收集 1.nmap扫描 因为kali与靶机在同一个网段下&#xff0c;使用nmap 192.168…...

    2024/4/27 1:23:38
  11. xtu-ctf Challenges-Reverse 1、2

    对网络安全一直有兴趣&#xff0c;但技术上始终无法入门&#xff0c;想着寒假或许能让自己正式步入网安的学习之路&#xff0c;学长说教程终究次要&#xff0c;刷题才是根本&#xff0c;现给大家送上两份reverse的简单题解&#xff0c;本人小白水平&#xff0c;目前也仍处于摸索…...

    2024/4/14 2:33:44
  12. OneDrive无法重新安装的解决方案

    最近遇到OneDrive问题&#xff0c;user machine上的OneDrive升级后无法登陆&#xff0c;猜测是安装文件出现了问题&#xff0c;但是在uninstall之后&#xff0c;仍然无法用安装包进行安装。 猜测是因为之前安装文件有问题导致没有卸载完全&#xff0c;此时可以通过执行下面com…...

    2024/4/20 11:41:24
  13. sqlite3学习笔记

    目录 概要 Python sqlite3实现流程 Python sqlite3具体操作 概要 认识sqlite3&#xff1a;sqlite3数据库是一款非常小巧的嵌入式开源数据库软件&#xff0c;也就是说没有独立的维护进程&#xff0c;所有的维护都来自于程序本身。它使用一个文件存储整个数据库&#xff0c;操…...

    2024/4/19 11:02:51
  14. Docker进阶学习: swarm扩展学习

    swarm 集群的管理和编排。docker可初始化一个 swarm 集群&#xff0c;其他节点可加入&#xff08;manager、worker&#xff09; Node 就是一个docker节点。多个节点组成了一个网络集群&#xff08;manager、worker&#xff09; Service 服务、可管理节点或者工作节点运行 Ta…...

    2024/4/14 2:33:44
  15. sql--分页

    方法1&#xff1a;top方式分页 --查询第一页 select top 5 * from student --查询第二页 select top 5 *from student where stuid not in (select top 5 stuid from student) --查询第三页 select top 5 *from student where stuid not in (select top 10 stuid from st…...

    2024/4/14 2:33:59
  16. Linux系统bash的快捷键

    Ctrll:清屏&#xff0c;相当于clear命令&#xff1b; Ctrla:跳转至命令开始处&#xff1b; Ctrle:跳转至命令结尾处&#xff1b; Ctrlc:取消命令的执行&#xff1b; Ctrlu:删除命令行最左侧至光标所在处的所有内容&#xff1b; Ctrlk:删除光标所在处至命令行尾部的所有内容…...

    2024/4/15 1:22:05
  17. CentOS7用yum方式安装MySQL

    0.卸载MySQL 如果系统完全没有安装过mysql&#xff0c;可以忽略&#xff0c;其实这里有某种悖论&#xff0c;但有人可能安装过程中出错或者打算重装&#xff0c;所以这一步是有必要的&#xff0c;在安装前务必先把原来的清理干净 查看MySQL安装文件 rpm -qa | grep -i mysql逐…...

    2024/4/14 2:33:39
  18. java使用jwt

    在一个标准项目&#xff0c;拦截器或者过滤器一定不会少了。有了这些&#xff0c;那必须使用令牌验证了。这里讲解的是jwt 可以去看一下我上一篇文章&#xff0c;使用token和redis验证 1、JWT 1️⃣什么是jwt jwt 全称是 json web token 在网络应用环境声明而执行的一种基于j…...

    2024/4/14 2:33:44
  19. C++ 虚表与虚析构

    在C中&#xff0c;多态性的实现和联编&#xff08;也称绑定&#xff09;这一概念有关。一个源程序经过编译、链接&#xff0c;成为可执行文件的过程是把可执行代码联编&#xff08;或称装配&#xff09;在一起的过程。其中在运行之前就完成的联编成为静态联编&#xff08;前期联…...

    2024/4/14 2:33:49
  20. vscode 运行 c 程序,能生成exe文件,但是集成终端没有输出

    方案一 使用code Runner插件 然后用run code 运行&#xff0c;不用vscode的集成终端 方案二 更改mingw版本&#xff0c;退回到8.1.0版本 下载地址 64位电脑用这个 亲测可行...

    2024/4/20 7:03:13

最新文章

  1. OceanBase 轻量级数仓关键技术解读

    码到三十五 &#xff1a; 个人主页 为了更好地聚合和治理跨域数据&#xff0c;帮助企业用较低的成本快速聚合分析&#xff0c;快速决策&#xff0c;不断的让企业积累的数据产生价值&#xff0c;从全域海量数据抓取&#xff0c;高性能流批处理&#xff0c;元数据血缘治理等等方面…...

    2024/5/5 17:32:12
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 汽车疲劳测试试验平台技术要求(北重厂家)

    汽车疲劳测试试验平台技术要求通常包括以下几个方面&#xff1a; 车辆加载能力&#xff1a;测试平台需要具备足够的承载能力&#xff0c;能够同时测试多种车型和不同重量的车辆。 动力系统&#xff1a;测试平台需要具备稳定可靠的动力系统&#xff0c;能够提供足够的力和速度来…...

    2024/5/3 8:56:17
  4. audio_video_img图片音视频异步可视化加载

    最近在做即时消息&#xff0c;消息类型除了文字还有音频、视频、图片展示&#xff0c;如果消息很多&#xff0c;在切换聊天框时&#xff0c;会有明显卡顿&#xff0c;后续做了懒加载&#xff0c;方案是只加载用户能看到的资源&#xff0c;看不到的先不加载&#xff1b; LazyAud…...

    2024/5/5 8:52:52
  5. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/4 23:54:56
  6. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/4 23:54:56
  7. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  8. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/4 23:55:17
  9. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  10. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  11. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/4 23:55:16
  13. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/4 18:20:48
  15. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  16. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/4 23:55:06
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/4 23:55:01
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57