在学习了《Spring实战》的一些章节后,我打算写一个项目来锻炼一下。在创建项目前,我希望用全注解的方式来开发。后来就知道,debug掉的头发,都是前期拍脑袋进的水——网上关于注解的资料也太少了吧!!!
经过千辛万苦后,我终于顺利完成了项目的搭建:)
项目的源代码地址:https://github.com/FuGaZn/SpringBlog
欢迎给个star哦 ( ̄∇ ̄)

概述

首先介绍一下这个SpringBlog项目:
本项目基于Spring+SpringMVC+Mybatis的技术框架,实现个人博客的登入登出、管理文章、在线编写和发布文章、浏览博客等基本功能。
在一步步搭建项目的过程中,你将学习到:

  • DispatcherServlet的配置
  • Web界面访问的配置
  • 用Interceptor实现拦截功能
  • 自动装配(Auto wire)
  • Controller和Service的编写
  • 基于Mybatis实现的Mapper接口

以上所有功能将使用注解的形式配置!
(除了使用web.xml配置对静态资源的访问)

博客界面示例

登陆界面:
登陆界面后台管理界面:
在这里插入图片描述
撰写文章界面:
在这里插入图片描述博客主页:
在这里插入图片描述
查看博客界面:
在这里插入图片描述

搭建项目

新建一个Java web项目,引入Maven框架,将pom.xml的内容配置好就完成了基本的搭建。

项目结构:
在这里插入图片描述在这里插入图片描述本项目采用Maven来管理,pom.xml文件内容如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><packaging>war</packaging><groupId>com.fjx.blog.spring</groupId><artifactId>SpringBlog</artifactId><version>1.0-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties><dependencies><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.16</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.9</version></dependency><dependency><groupId>javax</groupId><artifactId>javaee-api</artifactId><version>7.0</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20170516</version></dependency><!--spring依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.2.7.RELEASE</version></dependency><!--springMVC依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.7.RELEASE</version></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.6</version></dependency><!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-jpa --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-jpa</artifactId><version>2.3.1.RELEASE</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.1</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.1.2</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version><scope>compile</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version></dependency><!--springMVC依赖结束--></dependencies>
</project>

编写Java web Config文件

java web cofig配置类是xml配置文件的替代,在Java类上添加@Configuration注解后,该类会被Spring识别为配置类。

配置DispatherServlet

DispatcherServlet用于将请求发送给SpringMVC控制器(controller)DispatcherServlet 会查询一个或多个处理器映射( handler mapping ) 来确定请求的下一站在哪里。处理器映射会根据请求所携带的 URL 信息来进行决策。
DispatcherServlet的作用
MyWebInitializer.java:

package com.fjx.blog.spring.config;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;public class MyWebInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {//根配置 和我们目前的项目无关,所有不用去关心protected Class<?>[] getRootConfigClasses() {return new Class<?>[] {RootConfig.class};}//指定配置类protected Class<?>[] getServletConfigClasses() {return new Class<?>[] {WebConfig.class};}//将DispatcherServlet映射到“/”,即该DispatcherServlet会处理所有的请求protected String[] getServletMappings() {return new String[]{"/"};}
}

《Spring实战》对AbstractAnnotationConfigDispatcherServletInitializer的讲解:
在这里插入图片描述

配置WebConfig

package com.fjx.blog.spring.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.*;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;@Configuration
@ComponentScan("com.fjx.blog.spring")
public class WebConfig implements WebMvcConfigurer {@Beanpublic ViewResolver viewResolver() {InternalResourceViewResolver resolver = new InternalResourceViewResolver();resolver.setPrefix("/WEB-INF/views/");resolver.setSuffix(".jsp");resolver.setViewClass(JstlView.class);resolver.setExposeContextBeansAsAttributes(true);return resolver;}@Bean(name = "multipartResolver") // bean必须写name属性且必须为multipartResolver//用于传输MultipartFileprotected CommonsMultipartResolver multipartResolver() {CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();commonsMultipartResolver.setMaxUploadSize(5 * 1024 * 1024);commonsMultipartResolver.setMaxInMemorySize(0);commonsMultipartResolver.setDefaultEncoding("UTF-8");return commonsMultipartResolver;}@Override//用于处理静态资源public void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("/resource/**").addResourceLocations("/resource/asset/");}@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {configurer.enable();}
}

InternalResourceViewResolver用于查找JSP文件,对于传入的视图名称(Controller里@RequestMapping注解的方法返回的String是视图名称),为其添加前缀和后缀,在web/webapp文件夹下查找对应的JSP文件。
例如,对以下方法:

    @RequestMapping({"/index","/"})public String index(Model model){return "home/index";}

InternalResourceViewResolver接收到“/home/index”字符串后,拼接前缀后缀得“/WEB-INF/views/home/index.jsp”。
注意:setPrefix方法里的/WEB-INF/views/不能写成WEB-INF/views/,前者通过相对路径访问资源,后者使用绝对路径,因此后者会出错。

addResourceHandlers方法用于处理对静态资源的访问。如果不设置,访问静态资源会被拦截。
如果addResourceHandlers不起作用的话,可以在web.xml中配置如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"><display-name>SpringBlog</display-name><servlet-mapping><servlet-name>default</servlet-name><url-pattern>*.js</url-pattern><url-pattern>*.css</url-pattern><url-pattern>*.woff</url-pattern><url-pattern>*.svg</url-pattern><url-pattern>*.ttf</url-pattern><url-pattern>*.woff2</url-pattern><url-pattern>*.eot</url-pattern><url-pattern>*.otf</url-pattern><url-pattern>*.ico</url-pattern><url-pattern>*.gif</url-pattern><url-pattern>*.jpg</url-pattern><url-pattern>*.png</url-pattern></servlet-mapping>
</web-app>

RootConfig.java:

package com.fjx.blog.spring.config;import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;@Configuration
@ComponentScan(basePackages = {"com.fjx.blog.spring"},excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, value = EnableWebMvc.class))
public class RootConfig {
}

配置SecurityConfig.java以实现对登陆状态的判断

package com.fjx.blog.spring.config;import com.fjx.blog.spring.interceptor.SecurityInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;@Configuration
public class SecurityConfig extends WebMvcConfigurationSupport {@Beanpublic SecurityInterceptor securityInterceptor() {return new SecurityInterceptor();}@Overridepublic void addInterceptors(InterceptorRegistry registry) {InterceptorRegistration registration = registry.addInterceptor(securityInterceptor());registration.excludePathPatterns("/home/*"); //排除对该路径的拦截registration.excludePathPatterns("/");registration.excludePathPatterns("/login");registration.addPathPatterns("/admin/*"); //添加对该路径的拦截registration.addPathPatterns("/admin");}
}

SecurityInterceptor.java的内容:

package com.fjx.blog.spring.interceptor;import org.springframework.stereotype.Component;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@Component
public class SecurityInterceptor extends HandlerInterceptorAdapter {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws IOException {//这里根据session的用户来判断角色的权限,根据权限来转发不同的页面if(request.getSession().getAttribute("user") == null) {response.sendRedirect("/login");return false;}return true;}
}

在第一次访问被SecurityConfig拦截的界面时,因为session里的user属性不存在,所以会重定向到login界面。登陆后,添加user属性,再次访问这些界面时,就不会被重定向了。

配置Mybatis:

在resources文件夹下建立properties文件,添加如下内容:

server.port=8080
# 数据库连接
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/springblog
# 用户名
spring.datasource.username=root
# 密码
spring.datasource.password=123456
# 数据库驱动
spring.datasource.driver=com.mysql.jdbc.Driver#mybatis设置相关
mybatis.type.alias.package=com.bdqn.lyrk.ssm.study.entity
logging.leve.com.fjx.blog.spring.mapper=debug 
mybatis.configuration.mapUnderscoreToCamelCase=true

添加PropertiesConfig.java:

package com.fjx.blog.spring.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;@Configuration
@PropertySource("classpath:application.properties")
public class PropertiesConfig {@Value("${spring.datasource.url}")private String url;@Value("${spring.datasource.driver}")private String driver;@Value("${spring.datasource.username}")private String username;@Value("${spring.datasource.password}")private String password;@Value("${mybatis.type.alias.package}")private String mybatisTypeAliasPackage;public String getUrl() {return url;}public String getDriver() {return driver;}public String getUsername() {return username;}public String getPassword() {return password;}@Beanpublic static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer(){return new PropertySourcesPlaceholderConfigurer();}
}

添加MyBatisConfig.java:

package com.fjx.blog.spring.config;import com.alibaba.druid.pool.DruidDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;import javax.sql.DataSource;@Configuration
@MapperScan("com.fjx.blog.spring.mapper")
public class MyBatisConfig {@AutowiredPropertiesConfig propertiesConfig;@Bean//如果项目运行后报“Error querying database.  Cause: java.lang.NullPointerExceptio”这样的错误,你或许要检查一下这里的配置,看看是不是url或者driverClassName为空public DataSource dataSource(PropertiesConfig propertiesConfig) {DruidDataSource dataSource = new DruidDataSource();dataSource.setUsername(propertiesConfig.getUsername());dataSource.setPassword(propertiesConfig.getPassword());dataSource.setUrl(propertiesConfig.getUrl());dataSource.setDriverClassName(propertiesConfig.getDriver());return dataSource;}@Beanpublic SqlSessionFactory sqlSessionFactory() throws Exception  {SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();//不能用new PropertiesConfig()的方式引入参数,否则得不到变量sessionFactory.setDataSource(dataSource(propertiesConfig));return sessionFactory.getObject();}@Beanpublic PlatformTransactionManager transactionManager(DataSource dataSource) {DataSourceTransactionManager dataSourceTransactionManager = new DataSourceTransactionManager(dataSource);return dataSourceTransactionManager;}@Beanpublic static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer = new PropertySourcesPlaceholderConfigurer();return propertySourcesPlaceholderConfigurer;}}

在以上所有文件都配置完毕后,我们就可以开发具体页面啦!是不是很激动呢,如果你是第一次开发SpringMVC项目,可能会觉得上面的配置很繁琐,但是如果你接触过用XML文件进行配置的话,那肯定会觉得上面的配置太简单了。
而且接下来,当我们配置Controller、Service、Mapper时,只需要在类上添加注解就可以完成了,不用在辛辛苦苦写完java文件后,还要在xml文件里进行添加或修改。

接下来让我们以登陆操作为例,从数据库到jsp页面,自底向上一条龙讲述其中的全部操作。

登陆:Mapper->Service->Controller->JSP

Mapper

我们先在数据库中建立一张表,名字为users(在IDEA里可以图形化操作)

-- auto-generated definition
CREATE TABLE users
(id              INT AUTO_INCREMENTPRIMARY KEY,ukey            VARCHAR(255) NULL,name            VARCHAR(255) NULL,password        VARCHAR(255) NULL,CONSTRAINT user_uid_uindexUNIQUE (id)
)ENGINE = InnoDB;

然后创建对应的User.java:

package com.fjx.blog.spring.entity;public class User {private int id;private String name; //昵称private String ukey; //用户身份识别key,登陆使用private String password;//还有一系列getter和setter方法,别忘了哦。在IDEA里,同时摁住Alt和Insert键,可以一键添加全部getter和setter方法哦
}

配置UserMapper.java:

package com.fjx.blog.spring.mapper;import com.fjx.blog.spring.entity.User;
import org.apache.ibatis.annotations.*;
import org.springframework.stereotype.Component;import java.util.List;@Mapper
@Component(value = "userMapper")
public interface UserMapper {@Select("select * from users")List<User> selectAll();@Select("select * from users where ukey = #{ukey}")List<User> selectUserByKey(String ukey);@Insert("insert into users values(#{user.id},#{user.ukey},#{user.name},#{user.password},#{user.userLastLoginIp})")@Options(useGeneratedKeys = true)int save(@Param("user") User user);
}

@Mapper注解表明该类是一个Mybatis Mapper
@Select/@Insert注解等用来操作sql语句。在传入对象参数时,在参数前使用@Param注解,否则会报 xxx not found错误。
Mybatis的注解详细用法可以参照:MyBatis常用11种注解

创建UserService和UserServiceImpl文件:

package com.fjx.blog.spring.service;import com.fjx.blog.spring.entity.User;public interface UserService {User getUserByKey(String key);void save(User user);
}
package com.fjx.blog.spring.service.impl;import com.fjx.blog.spring.entity.User;
import com.fjx.blog.spring.mapper.UserMapper;
import com.fjx.blog.spring.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserMapper userMapper;@Overridepublic User getUserByKey(String key) {List<User> users = userMapper.selectUserByKey(key);if (users == null || users.size() == 0){return null;}elsereturn users.get(0);}public void save(User user) {int i = userMapper.save(user);}
}

可以看到UserServiceImpl实现自UserServcie接口,@Service注解要放在UserServiceImpl上
使用@AutoWired注解来为UserMapper自动装配

创建LoginController.java:

package com.fjx.blog.spring.controller.admin;import com.fjx.blog.spring.entity.User;
import com.fjx.blog.spring.service.UserService;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;/*** @author fujiaxing* 登陆登出功能*/
@Controller
public class LoginController {@AutowiredUserService userService;@RequestMapping({"/login","/"})public String login(){return "/admin/login";}@RequestMapping(value = "/loginVerify",method = RequestMethod.POST)@ResponseBodypublic String loginVerify(HttpServletRequest request, HttpServletResponse response) {Map<String, Object> map = new HashMap();String userkey = request.getParameter("ukey");String password = request.getParameter("password");String rememberme = request.getParameter("rememberme");User user = userService.getUserByKey(userkey);if (user == null) {map.put("code", 0);map.put("msg", "用户名无效!");} else if (!user.getPassword().equals(password)) {map.put("code", 0);map.put("msg", "密码错误!");} else {System.out.println("登陆成功");//登录成功map.put("code", 1);map.put("msg", "");//添加sessionrequest.getSession().setAttribute("user", user);if (rememberme != null) {//创建两个Cookie对象Cookie keyCookie = new Cookie("ukey", userkey);//设置Cookie的有效期为3天keyCookie.setMaxAge(60 * 60 * 24 * 3);Cookie pwdCookie = new Cookie("password", password);pwdCookie.setMaxAge(60 * 60 * 24 * 3);response.addCookie(keyCookie);response.addCookie(pwdCookie);}//  user.setUserLastLoginTime(new Date());user.setUserLastLoginIp(getIpAddr(request));userService.save(user);}String result = new JSONObject(map).toString();return result;}@RequestMapping(value = "/logOut",method = RequestMethod.GET)@ResponseBodypublic String loginOut(HttpServletRequest request, HttpServletResponse response){request.getSession().removeAttribute("user");Map<String, Object> map = new HashMap();map.put("code", 1);map.put("msg", "");String result = new JSONObject(map).toString();return result;}
}

可以看到,在LoginController里,自动装配的对象是UserService, 而不是UserServiceImpl
login()方法上注解配置了映射“/login”,对应的jsp文件则是/WEB-INF/views/admin/login.jsp
上文提到,我们使用session里的user属性判断用户是否需要登陆,在执行登陆操作后,我们调用request.getSession().addAttribute()方法添加user属性。在登出系统后,我们调用request.getSession().removeAttribute()方法删除user属性

后端的所有类和方法都写好啦,接下来我们就可以编写前端界面和js代码了。
新建一个/admin/login.jsp文件,添加如下代码:

<body><%String username = "", password = "";Cookie[] cookies = request.getCookies();if (cookies!=null){for (int i = 0; i < cookies.length; i++) {//对cookies中的数据进行遍历,找到用户名、密码的数据if ("ukey".equals(cookies[i].getName())) {username = cookies[i].getValue();} else if ("password".equals(cookies[i].getName())) {password = cookies[i].getValue();}}}%><form name="loginForm" id="loginForm" method="post"><input type="text" placeholder="用户名" name="username" id="user_login" class="input" value="<%=username%>" size="20" required/><input type="password" placeholder="密码" name="password" id="user_pass" class="input" value="<%=password%>" size="20" required/><p class="forgetmenot"><label for="rememberme"><input name="rememberme" type="checkbox" id="rememberme" value="1" checked /> 记住密码</label></p><a class="submit">登陆<input type="button" name="wp-submit" id="submit-btn" value="登录" /></a><p id="backtoblog" style="margin-left: 160px;color: black"><a href="/index">&larr; 返回到博客</a></p></form>
</body>
<script src="/resource/assets/js/jquery.min.js"></script>
<script type="text/javascript">$("#submit-btn").click(function () {var user = $("#user_login").val();var password = $("#user_pass").val();console.log(user+' '+password)if(user=="") {alert("用户名不可为空!");} else if(password==""){alert("密码不可为空!");} else {$.ajax({async: false,//同步,待请求完毕后再执行后面的代码type: "POST",url: '/loginVerify',contentType: "application/x-www-form-urlencoded; charset=utf-8",data: $("#loginForm").serialize(),dataType: "json",success: function (data) {if(data.code==0) {alert(data.msg);} else {window.location.href="/admin";}},error: function () {alert("数据获取失败")}})}})

只摘取了关键代码,要看全部代码可以点击Github: SpringBlog/Login.sjp

全部完成后,运行tomcat,就可以在localhost:8080上看到我们写的界面啦,并且可以正常使用哦!

总结

好的,本篇文章到这里就结束了。似乎写了不少内容(好吧,大部分都是代码)
注解有着比xm更简单的配置和更好的可读性,使用得当的话会大大减轻springmvc开发的复杂度和代码量。
本文也未涉及深层次的spring知识,主要还是以一个简单的登陆流程为例,讲一下如何以全注解的方式来开发一个springmvc项目。
如果对这个简单的个人博客框架有兴趣的话,可以关注https://github.com/FuGaZn/SpringBlog
SpringMVC相对于SpringBoot来说,开发起来还是太复杂了。所以这个博客项目仅用于熟悉springmvc注解配置的用法,不会搭建为成熟的博客系统。

博客的在线编辑功能使用了Editormd,如果想了解Editormd的用法,可以看下一篇博客。

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

相关文章

  1. mysql查询数据令某字段显示固定值

    mysql查询数据令某字段显示固定值 让某字段查询结构显示为固定值: SELECT id,userName,’*****’ PASSWORD FROM t_user; 或:SELECT id,userName,’*****’ AS PASSWORD FROM t_user;注意: mysql支持PASSWORD是表中已经有的字段...

    2024/4/16 13:38:42
  2. c#开发技术 计时器、数码管计时器、倒计时

    前言 基于c#开发语言,笔者提供了一般类型的计时器、数码管类型的计时器以及倒计时程序,总计三个程序。上传的文件包含了完整文件,有需要的人可以自行下载。如果有错误的地方,还希望各位博友指出。 界面效果图 普通倒计时程序的界面效果图如图1所示。数码管计时器的界面效果…...

    2024/4/16 13:38:52
  3. 【软件工具篇02】使用Anki克服遗忘曲线

    使用Anki克服遗忘曲线 艾宾浩斯遗忘曲线百度百科:遗忘曲线由德国心理学家艾宾浩斯研究发现,描述了人类大脑对新事物遗忘的规律。人体大脑对新事物遗忘的循序渐进的直观描述,人们可以从遗忘曲线中掌握遗忘规律并加以利用,从而提升自我记忆能力。该曲线对人类记忆认知研究产生…...

    2024/4/19 5:25:00
  4. Set集合的运用以及一些坑

    最近帮新同事看一个问题,需求大概是这样的,他做了一个上传文档的功能,文件先上传到服务器,数据库保存文件上传记录,然后另启一个线程从服务器上读到文件上传到分布式文件系统,文件类型有图片和pdf,文件不能重复且,需要根据上传时间排序,于是首先数据库做了排序,然后用…...

    2024/4/16 13:38:47
  5. ArrayList contains方法

    //ArrayList contains方法ArrayList<String> list = new ArrayList<String>();list.add("Jim");Object object = "Jim";//上转型对象System.out.println(list.contains(object)); ----------------------------------------------------------…...

    2024/4/1 0:27:10
  6. thinkphp5.1对接阿里云短信

    1.Composer 安装依赖 作为ThinkPHP5 超方便的工具,强烈建议使用 Composer,你会发现它的便利与快捷性 运行命令: composer require alibabacloud/client 2加粗样式**** <?phpnamespace app\index\home; use AlibabaCloud\Client\AlibabaCloud; use AlibabaCloud\Client\E…...

    2024/4/16 13:39:38
  7. Web前端——HTML中的超链接

    1.超链接 格式的写法 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>超链接</title> </head> <body><!-- 超链接可以让我们从一个页面跳转到其他页面,或者是当前页面的其他位…...

    2024/4/16 13:40:14
  8. python——lambda表达式(匿名函数)详解

    1. Lambda应用场景 如果一个函数有一个返回值,并且只有一句代码,可以使用lambda简化 2. lambda语法 注意事项:lambda表达式的参数可有可无,函数的参数在lambda表达式中完全适用 lambda表达式能接受任何数量的参数但只能返回一个表达式的值lambda 参数列表:表达式3. 体验lam…...

    2024/4/16 13:39:53
  9. 多线程学习记录

    1.多线程的几种实现方式,什么是线程安全。 实现runable接口,继承thread类。 2.用户线程和守护线程有什么区别? 我们在Java程序中创建一个线程,它就被称为用户线程。一个守护线程是在后台执行并且不会阻止JVM终止的线程。当没有用户线程在运行的时候,JVM关闭程序并且退出。…...

    2024/4/20 13:07:50
  10. JavaMailSender根据数据库获取主机端口,而不是通过自动注入yml配置文件

    JavaMailSenderImpl javaMailSender =new JavaMailSenderImpl();javaMailSender.setHost(host);//主机地址javaMailSender.setPort(port);//端口javaMailSender.setUsername();//账号javaMailSender.setPassword();//密码MimeMessage mimeMessage = javaMailSender.createMime…...

    2024/4/26 18:04:39
  11. 在IIS的应用程序中发布MVC程序

    还是上上篇blog的项目,用新学的技术做就是这样,一个接一个的踩坑。 正常的MVC程序发布一般都是在IIS系统的根目录,但是由于原来已经有一个网站了,除了80端口也没有别的端口可以用,只能挂在原来网站的子目录下,于是采用添加应用程序的办法搞定。踩了一些坑,终于搞定了。下…...

    2024/4/16 13:39:53
  12. DL with python(8)——TensorFlow实现mnist数据集的增强

    本文涉及到的是中国大学慕课《人工智能实践:Tensorflow笔记》第四讲的内容,对神经网络八股进行拓展。这里介绍的是通过tensorflow实现数据增强。 图像增强 常用增强方法: 缩放系数:rescale=所有数据将乘以提供的值 随机旋转:rotation_range=随机旋转角度数范围 宽度偏移:…...

    2024/4/16 13:39:43
  13. 卷积神经网络之sigmoid、softmax、logits、cross entropy的计算方式

    Sigmoid sigmoid常用于二分类问题。 sigmoid函数表达式如下:函数形状:Softmax softmax函数常用于多分类。 函数定义:Logits logits可以理解为输出层的内容,一般是全链接层,后面会作为softmax的输入。cross entropy 交叉熵,主要用于度量两个概率分布间的差异性信息。q(x)就…...

    2024/4/22 12:40:38
  14. vuex 状态 缓存

    1、代码 保存在 app 页面编写export default function(ctx){// 离开页面window.addEventListener(beforeunload, ()=> {console.log(触发离开事件)sessionStorage.setItem("store",JSON.stringify(ctx.store.state))}); // 页面加载完成window.addEventLi…...

    2024/4/20 15:37:53
  15. 【MySQL8.0.15 安装配置教程】

    一、官网下载MySQL8.0.15 直达官网:下载Community版 然后拉倒下方点击对应版本位数下载【推荐,博主也是从这下的】嫌弃慢的客官可以去搜狐的镜像网站下载 Ctrl+F调出搜索框,输入winx64,选你喜欢的版本下就完了~二、进入mysql8.0.15安装根目录创建一个my.ini配置文件。 [mys…...

    2024/4/16 13:42:01
  16. 问题解决:启动tomcat,日志输出:java.lang.ClassNotFoundException: com.tingyun.api.agent.TingYunApiImpl

    文章目录问题场景问题环境问题原因解决方案结果总结随缘求赞 问题场景 有一个老项目,其中的tomcat有引入听云的插件。之后,因为项目不需要了,所以需要移除相关的插件。之前是直接在启动命令里面加上javaagent参数。现在移除了这个参数,但是启动了,提示报错,报错提示如下:…...

    2024/4/17 23:46:35
  17. HTML5系列代码:变换位置的小球

    通过 @keyframes 规则,您能够创建动画。 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。 在动画过程中,您能够多次改变这套 CSS 样式。 以百分比来规定改变发生的时间,或者通过关键词 “from” 和 “to”,等价于 0% 和 100%。 0% 是动画的开始时间,100% 动画的…...

    2024/4/24 7:21:59
  18. vue 组件

    Review v-cloak 解决页面第一次渲染闪烁问题。 通常会结合 css 设置一起使用, <style>[v-cloak] {display: none;} </style> <div v-cloak>{{ message }} </div>不会显示,直到编译结束。当创建完 Vue 实例,编译结束后,会自动将页面元素节点中的 v-…...

    2024/4/21 16:41:53
  19. k8s--控制器

    Pod 的分类: 主式 Pod: Pod 退出后不会被创建 控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目 类型: • Replication Controller和ReplicaSet • Deployment • DaemonSet • StatefulSet • Job • CronJob • HPA全称Horizontal Pod Autoscaler epli…...

    2024/3/28 19:21:57
  20. java中 方法参数的 使用情况

    成员变量和局部变量 java中方法参数的使用情况:一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)。 一个方法可以改变一个对象参数的状态。 一个方法不能让对象参数引用一个新的对象。...

    2024/4/16 13:40:24

最新文章

  1. Jackson 2.x 系列【31】Spring Boot 集成之字典回写

    有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 本系列Jackson 版本 2.17.0 本系列Spring Boot 版本 3.2.4 源码地址&#xff1a;https://gitee.com/pearl-organization/study-jaskson-demo 文章目录 1. 场景描述2. 案例演示2.1 修改枚举2.2 定义注解…...

    2024/4/26 19:29:54
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/3/20 10:50:27
  3. MySQL 底层数据结构 聚簇索引以及二级索引 Explain的使用

    数据结构 我们知道MySQL的存储引擎Innodb默认底层是使用B树的变种来存储数据的 下面我们来复习一下B树存储 B树存储 哈希存储的区别 哈希存储,只能使用等值查询 B树与B树存储 我们知道B树实际上就是B树的变种 那么为啥使用B树而不是使用B树呢? 我们知道效率的高低主要取决于…...

    2024/4/23 6:22:51
  4. ASTM C1186-22 纤维水泥平板

    以无石棉类无机矿物纤维、有机合成纤维或纤维素纤维&#xff0c;单独或混合作为增强材料&#xff0c;以普通硅酸盐水泥或水泥中添加硅质、钙质材料代替部分水泥为胶凝材料&#xff0c;经制浆、成型、蒸汽或高压蒸汽养护制成的板材&#xff0c;俗称水泥压力板。 ASTM C1186-22纤…...

    2024/4/24 20:02:42
  5. 【外汇早评】美通胀数据走低,美元调整

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

    2024/4/26 18:09:39
  6. 【原油贵金属周评】原油多头拥挤,价格调整

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

    2024/4/25 18:39:24
  7. 【外汇周评】靓丽非农不及疲软通胀影响

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

    2024/4/25 18:38:39
  8. 【原油贵金属早评】库存继续增加,油价收跌

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

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

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

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

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

    2024/4/25 18:39:22
  11. 【外汇早评】美欲与伊朗重谈协议

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

    2024/4/25 18:39:20
  12. 【原油贵金属早评】波动率飙升,市场情绪动荡

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

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

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

    2024/4/26 16:00:35
  14. 【原油贵金属早评】市场情绪继续恶化,黄金上破

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

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

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

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

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

    2024/4/26 19:03:37
  17. 氧生福地 玩美北湖(上)——为时光守候两千年

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

    2024/4/25 4:19:21
  18. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

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

    2024/4/25 18:39:14
  19. 氧生福地 玩美北湖(下)——奔跑吧骚年!

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

    2024/4/25 18:39:12
  20. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

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

    2024/4/25 2:10:52
  21. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

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

    2024/4/25 18:39:00
  22. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

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

    2024/4/25 13:19:01
  23. 广州械字号面膜生产厂家OEM/ODM4项须知!

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

    2024/4/25 18:38:58
  24. 械字号医用眼膜缓解用眼过度到底有无作用?

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

    2024/4/25 18:38:57
  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