Maven项目下详细的SSM整合流程

文章目录

  • 🎉SSM整合流程
    • 一、两个容器整合✨
      • 1、先准备好数据库config.properties连接、mybatis-config.xml🎊
      • 2、容器一:优先配置spring.xml文件🎊
      • 3、容器二:配置springMVC.xml文件🎊
      • 4、Tomcat整合spring容器、springMVC容器,webapp文件下的web.xml文件🎊
    • 二、一个容器整合
      • 1、 现在去掉了spring.xml文件,将spring.xml文件的内容放到springMVC🎊
      • 2、Tomcat整合springMVC容器,webapp文件下的web.xml文件🎊

🎉SSM整合流程

分为两种:两个容器整合
在这里插入图片描述
一个容器整合
在这里插入图片描述
本项目的路径参考:
在这里插入图片描述

  注意:优先maven项目的pom.xml文件里导入jar包依赖:

    <properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><aaa>4.3.8.RELEASE</aaa></properties><dependencies><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><exclusions><exclusion><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></exclusion></exclusions><version>3.19.2</version></dependency><dependency><groupId>org.dom4j</groupId><artifactId>dom4j</artifactId><version>2.0.0</version><type>pom</type><!--依赖的类型,声明引入的依赖的类型,值一般有jar、war、pom--></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!-- spring的webmvc的依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${aaa}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>${aaa}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>${aaa}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.8.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.3.8.RELEASE</version></dependency><!-- Mysql的依赖 --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency><!-- mybatis的依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><!--数据库连接池的依赖 --><dependency><groupId>commons-dbcp</groupId><artifactId>commons-dbcp</artifactId><version>1.4</version></dependency><!-- spring-mybatis的依赖 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency><!-- springjdbc的依赖 --><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>4.3.8.RELEASE</version></dependency><!-- aspectj的依赖 --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.9.4</version></dependency><!-- 添加日志log4j的依赖 --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- jackson的依赖 --><!--    <dependency>--><!--      <groupId>com.fasterxml.jackson.core</groupId>--><!--      <artifactId>jackson-databind</artifactId>--><!--      <version>2.9.7</version>--><!--    </dependency>--><!-- 依赖 --><dependency><groupId>aopalliance</groupId><artifactId>aopalliance</artifactId><version>1.0</version></dependency><dependency><groupId>org.apache.tomcat</groupId><artifactId>tomcat-servlet-api</artifactId><version>8.0.28</version><scope>provided</scope><!-- 生命周期:test  --></dependency><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.1</version><scope>provided</scope></dependency><!-- json依赖 --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.71</version></dependency><!--导入lombok依赖 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.3.2</version></dependency><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.5.5</version></dependency><!-- https://mvnrepository.com/artifact/com.mchange/c3p0 --><dependency><groupId>com.mchange</groupId><artifactId>c3p0</artifactId><version>0.9.5.2</version></dependency><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency><!-- https://mvnrepository.com/artifact/org.jdom/jdom2 --><dependency><groupId>org.jdom</groupId><artifactId>jdom2</artifactId><version>2.0.6</version></dependency><!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.71</version></dependency><dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>RELEASE</version><scope>compile</scope></dependency><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.4</version></dependency><!-- redis客户端jar --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.7.3</version></dependency><!-- spring-redis实现 --><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-redis</artifactId><version>1.7.2.RELEASE</version></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-api</artifactId><version>0.11.2</version></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-impl</artifactId><version>0.11.2</version></dependency><dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt-jackson</artifactId><version>0.11.2</version></dependency></dependencies>

一、两个容器整合✨

1、先准备好数据库config.properties连接、mybatis-config.xml🎊

(1)数据库config.properties连接

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost:3306/emp?serverTimeZone=Asia/ShangHai&useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=nigx=0128

(2)mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- <properties resource="config.properties"> --><!-- </properties> --><settings><!--将表中字段的下划线自动转换为驼峰--><setting name="mapUnderscoreToCamelCase" value="true"/><setting name="logImpl" value="STDOUT_LOGGING"/><!-- 如果需要更改一级缓存的范围,可以在Mybatis的配置文件中,在下通过localCacheScope指定。 --><!-- <setting name="localCacheScope" value="STATEMENT"/> --></settings><!--  类型别名配置各个标签时,需要遵守前后顺序--><typeAliases><package name="com.pojo"/></typeAliases><!--    <typeAliases>--><!--        <typeAlias alias="user" type="com.pojo.User"></typeAlias>--><!--        <typeAlias type="com.pojo.Employee"></typeAlias>--><!--        <typeAlias type="com.pojo.Log"></typeAlias>--><!--        <typeAlias type="com.pojo.Dept"></typeAlias>--><!--    </typeAliases>--><!--  environments:配置数据库的连接环境信息,可以配置多个environment,通过default属性切换不同的environment  --><!-- <environments default="development"> --><!--     <environment id="development"> --><!--         <transactionManager type="JDBC"/> --><!--         &lt;!&ndash;数据库连接池&ndash;&gt; --><!--         <dataSource type="POOLED"> --><!--             &lt;!&ndash;数据库的连接信息&ndash;&gt; --><!--             <property name="driver" value="${driver}"/> --><!--             <property name="url" value="${url}"/> --><!--             <property name="username" value="${username}"/> --><!--             <property name="password" value="${password}"/> --><!--         </dataSource> --><!--     </environment> --><!-- </environments> --><mappers><!--加载SQL映射文件--><!--<mapper resource="nigaoxian\mapper\UserMapper.xml"/>--><!--  Mapper 代理方式,在spring容器映射过就不需要配置了--><!-- <package name="com.dao"/> --></mappers>
</configuration>

2、容器一:优先配置spring.xml文件🎊

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 2*3+1 --><!--扫描组件(除控制层)--><context:component-scan base-package="com.service,com.service.serviceImpl,com.interceptor,com.exception"><!-- 按照注解进行排除,标注了指定注解的组件不要扫描 --><!--        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>--><!-- 指定排除某个具体的类,按照类排除  --><!-- <context:exclude-filter type="assignable" expression="com.controller.EmpController"/> --></context:component-scan><!-- 配置数据源 --><!--引入config.properties--><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:config.properties</value></list></property></bean><!-- 配置数据参数与连接属性 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="driverClass" value="${driver}"></property><property name="maxPoolSize" value="100"></property><property name="minPoolSize" value="30"></property><property name="jdbcUrl" value="${url}"></property><property name="user" value="${username}"></property><property name="password" value="${password}"></property></bean><!-- 配置spring事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--开启事务的注解驱动,将使用注解 @Transactional 标识的方法或类中所有的方法进行事务关联--><tx:annotation-driven transaction-manager="transactionManager"/><!-- 配置SqlSessionFactoryBean,可以直接在Spring的IOC中获取SqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 设置MyBatis的核心配置文件的路径 --><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 设置数据源 --><property name="dataSource" ref="dataSource"/><!-- 设置类型别名,默认为类名 --><!-- <property name="typeAliasesPackage" value="com.pojo"/> --><!-- 设置映射文件所在的包,只有在映射文件的包和mapper接口的包不一致时需要设置 --><property name="mapperLocations" value="classpath:com/dao/*.xml"/><!--引入分页插件--><!-- <property name="plugins"> --><!--     <array> --><!--         <bean class="com.github.pagehelper.PageInterceptor"/> --><!--     </array> --><!-- </property> --></bean><!--配置mapper接口的扫描配置,由mybatis-spring提供,可以将指定包下所有的mapper接口创建动态代理,并将这些动态代理作为IOC容器的bean管理,可以直接在Spring的IOC中获取Mapper接口了。--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><property name="basePackage" value="com.dao"/></bean>
</beans>

3、容器二:配置springMVC.xml文件🎊

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 启动mvc注解驱动 --><mvc:annotation-driven/><!-- 配置扫描的包 --><context:component-scan base-package="com.controller"/><!-- 配置视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean><mvc:cors><mvc:mapping path="/**" allowed-origins="*" allowed-headers="*" allowed-methods="*" allow-credentials="false"max-age="3600"/></mvc:cors><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/><bean id="corsInterceptor" class="com.interceptor.CORSInterceptor"/></mvc:interceptor><mvc:interceptor><mvc:mapping path="/**"/><mvc:exclude-mapping path="/login"/><mvc:exclude-mapping path="/register"/><bean id="loginInterceptor" class="com.interceptor.LoginInterceptor"/></mvc:interceptor></mvc:interceptors>
</beans>

4、Tomcat整合spring容器、springMVC容器,webapp文件下的web.xml文件🎊

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><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"><!-- tomcat整合spring --><!--配置Spring的编码过滤器--><!--配置Spring的监听器,在服务器启动的时候加载Spring的配置文件 --><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!--设置spring配置文件自定义的位置和名称--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring.xml</param-value></context-param><!-- <filter> --><!--     <filter-name>CharacterEncodingFilter</filter-name> --><!--     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> --><!--     &lt;!&ndash;只设置这个只会处理请求的编码,两个都设置请求响应都会处理&ndash;&gt; --><!--     <init-param> --><!--         <param-name>encoding</param-name> --><!--         <param-value>UTF-8</param-value> --><!--     </init-param> --><!--     <init-param> --><!--         <param-name>forceEncoding</param-name> --><!--         <param-value>true</param-value> --><!--     </init-param> --><!-- </filter> --><!-- <filter-mapping> --><!--     <filter-name>CharacterEncodingFilter</filter-name> --><!--     <url-pattern>/*</url-pattern> --><!-- </filter-mapping> --><!-- &lt;!&ndash; 配置处理请求方式PUT和DELETE的过滤器&ndash;&gt; --><!-- <filter> --><!--     <filter-name>HiddenHttpMethodFilter</filter-name> --><!--     <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class> --><!-- </filter> --><!-- <filter-mapping> --><!--     <filter-name>HiddenHttpMethodFilter</filter-name> --><!--     <url-pattern>/*</url-pattern> --><!-- </filter-mapping> --><!-- tomcat整合spring --><!-- 配置SpringMVC的前端控制器 --><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 设置SpringMVC的配置文件的位置和名称 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springMVC.xml</param-value></init-param><!-- 将DispatcherServlet的初始化时间提前到服务器启动时--><load-on-startup>1</load-on-startup></servlet><!-- 为什么使用/,并且这里为什么会默认放行jsp?设置/是为了兜底的,因为只有一个servlet,就是默认为DispatcherServlet的servlet,需要使用这个servlet拦截请求。因为jsp底层本身就是servlet,设置多个servlet此时只映射的是DispatcherServlet--><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

二、一个容器整合

1、 现在去掉了spring.xml文件,将spring.xml文件的内容放到springMVC🎊

springMVC.xml文件如下:

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 2*3+1 --><!--扫描组件(除控制层)--><context:component-scan base-package="com.service,com.service.serviceImpl,com.interceptor,com.exception"><!-- 按照注解进行排除,标注了指定注解的组件不要扫描 --><!--        <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>--><!-- 指定排除某个具体的类,按照类排除  --><!-- <context:exclude-filter type="assignable" expression="com.controller.EmpController"/> --></context:component-scan><!-- 配置数据源 --><!--引入config.properties--><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath:config.properties</value></list></property></bean><!-- 配置数据参数与连接属性 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><property name="driverClass" value="${driver}"></property><property name="maxPoolSize" value="100"></property><property name="minPoolSize" value="30"></property><property name="jdbcUrl" value="${url}"></property><property name="user" value="${username}"></property><property name="password" value="${password}"></property></bean><!-- 配置spring事务管理器 --><bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!--开启事务的注解驱动,将使用注解 @Transactional 标识的方法或类中所有的方法进行事务关联--><tx:annotation-driven transaction-manager="transactionManager"/><!-- 配置SqlSessionFactoryBean,可以直接在Spring的IOC中获取SqlSessionFactory--><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><!-- 设置MyBatis的核心配置文件的路径 --><property name="configLocation" value="classpath:mybatis-config.xml"/><!-- 设置数据源 --><property name="dataSource" ref="dataSource"/><!-- 设置类型别名,默认为类名 --><!-- <property name="typeAliasesPackage" value="com.pojo"/> --><!-- 设置映射文件所在的包,只有在映射文件的包和mapper接口的包不一致时需要设置 --><property name="mapperLocations" value="classpath:com/dao/*.xml"/><!--引入分页插件--><!-- <property name="plugins"> --><!--     <array> --><!--         <bean class="com.github.pagehelper.PageInterceptor"/> --><!--     </array> --><!-- </property> --></bean><!--配置mapper接口的扫描配置,由mybatis-spring提供,可以将指定包下所有的mapper接口创建动态代理,并将这些动态代理作为IOC容器的bean管理,可以直接在Spring的IOC中获取Mapper接口了。--><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/><property name="basePackage" value="com.dao"/></bean><!-- 启动mvc注解驱动 --><mvc:annotation-driven/><!-- 配置扫描的包 --><context:component-scan base-package="com.controller"/><!-- 配置视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"></property><property name="suffix" value=".jsp"></property></bean><mvc:cors><mvc:mapping path="/**" allowed-origins="*" allowed-headers="*" allowed-methods="*" allow-credentials="false"max-age="3600"/></mvc:cors><mvc:interceptors><mvc:interceptor><mvc:mapping path="/**"/><bean id="corsInterceptor" class="com.interceptor.CORSInterceptor"/></mvc:interceptor><mvc:interceptor><mvc:mapping path="/**"/><mvc:exclude-mapping path="/login"/><mvc:exclude-mapping path="/register"/><bean id="loginInterceptor" class="com.interceptor.LoginInterceptor"/></mvc:interceptor></mvc:interceptors>
</beans>

2、Tomcat整合springMVC容器,webapp文件下的web.xml文件🎊

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><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"><!-- tomcat整合springMVC --><!-- 配置SpringMVC的前端控制器 --><servlet><servlet-name>DispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 设置SpringMVC的配置文件的位置和名称 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springMVC.xml</param-value></init-param><!-- 将DispatcherServlet的初始化时间提前到服务器启动时--><load-on-startup>1</load-on-startup></servlet><!-- 为什么使用/,并且这里为什么会默认放行jsp?设置/是为了兜底的,因为只有一个servlet,就是默认为DispatcherServlet的servlet,需要使用这个servlet拦截请求。因为jsp底层本身就是servlet,设置多个servlet此时只映射的是DispatcherServlet--><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/167279.shtml

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

相关文章

解释PCIe MSI 中断要求中断向量连续?PCIe 规范里并没有明确指出

MSI 向量必须连续&#xff1f; 前言 MSI 物理条件&#xff0c;MSI 中断产生的逻辑是RC初始化的时候&#xff0c;由软件将配置写入到 EP 的 2 个寄存器中&#xff0c;这两个寄存器一个指示的是地址 Message Address&#xff0c;一个指示的是数据 Message Data。当 EP 试图触发…

你再不学Git就来不及了!!!

其他系列文章导航 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 版本控制 什么是版本控制 为什么要版本控制 一、认识 Git 1.1Git 简史 1.2Git 与其他版本管理系统的主要区别 1.3Git 的三种状态 二、Git 使用快速入门 2.1获…

springboot使用redis缓存乱码(key或者 value 乱码)一招解决

如果查看redis中的值是这样 创建一个配置类就可以解决 package com.deka.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; i…

CPU+GPU多样化算力,ZStack Cloud助力游戏精酿核心业务上云

游戏精酿通过ZStack Cloud云平台提供高性能、高可用的云主机、云存储和云网络&#xff1b;前期通过超融合架构快速构建云基础设施&#xff0c;来支持Jira、Redis等关键业务&#xff1b;并实现对原有私有云平台业务的替代&#xff0c;按需将原有私有云业务滚动迁移到ZStack Clou…

深入理解Spring AOP的工作流程

文章目录 引言什么是AOP&#xff1f;Spring AOP的工作原理1. JDK动态代理2. CGLIB代理 Spring AOP的注解方式Aspect注解EnableAspectJAutoProxy注解 Spring AOP的工作流程拓展应用1. 自定义注解2. 异常处理3. 切面优先级 结论 &#x1f389;深入理解Spring AOP的工作流程 ☆* o…

关于运行软件程序出现vcruntime140.dll丢失的修复教程-解决方案

vcruntime140.dll是Microsoft Visual C库文件的一部分&#xff0c;用于支持Windows操作系统上的应用程序。如果找不到或丢失了这个文件&#xff0c;可能会导致某些应用程序无法正常运行。下面是关于vcruntime140.dll丢失的5个修复方法&#xff0c;以及vcruntime140.dll文件属性…

Python基础教程之分支结构详解

文章目录 一、分支结构二、单分支结构三、双分支结构四、多分支结构五、嵌套分支结构六、三元表达式七、条件测试关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③P…

python之pyqt专栏2-项目文件解析

项目结构 在上一篇文章python之pyqt专栏1-环境搭建&#xff0c;创建新的pyqt项目&#xff0c;下面我们来看一下这个项目下的文件。 从下面的文件结构图可以看到&#xff0c;该项目下有3个文件&#xff0c;untitled.ui,untitled.py 以及main.py。 QtDesigner可以UI界面的方式&am…

Feign接口请求返回异常 no suitable HttpMessageConvert found for response type

问题场景&#xff1a; 后端调用feign接口请求, 接口返回异常, no suitable HttpMessageConvert found for response type 问题描述 报错异常如下&#xff1a; //根据图片特征 去查询人员信息ResultVo<List> personVos ipbdFaceLibPersonApi.queryFacePersonByFeatur…

华为云之SFS弹性文件服务使用体验

华为云之SFS弹性文件服务使用体验 一、本次实践介绍1.1 实践环境简介1.2 本次实践目的 二、SFS弹性文件服务介绍2.1 SFS弹性文件服务简介2.2 SFS弹性文件服务特点 三、购买ECS弹性云服务器3.1 购买ECS弹性云服务器3.2 查看ECS弹性云服务器状态3.3 远程连接ECS3.4 检查操作系统版…

Unity Android FireBase bugly报错查询

报错如下图&#xff0c;注意&#xff0c;标红的三处 使用的il2cpp和架构是arm64-v8a 那我们就可以根据这些去找对应的符号表&#xff0c;在unity安装目录下 Unity2020.3.33f1\Editor\Data\PlaybackEngines\AndroidPlayer\Variations\il2cpp\Release\Symbols\arm64-v8a 找到l…

Tomcat注册为服务后,如何配置Tomcat内存大小

前提条件&#xff1a;tomcat已经注册为服务。 1.winR,输入regedit打开注册表 2.找到Tomcat注册表路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat80603.找到jvm内存配置路径&#xff1a; HKEY_LOCAL_MACHINE\SOFTW…

SSM大学生社团信息管理系统-99953,(免费领取源码)计算机毕业设计选题开题+程序定制+论文书写+答辩ppt书写 包售后 全流程

SSM大学生社团信息管理系统APP 摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;高校当然也不能排除在外。大学生社团信息管理系统APP是以实际运用为开发背景&#xff0c…

[C/C++]数据结构 循环队列

前言: 队列是一种具有先进先出特性的结构,但是当数据出队列以后,前面的空间就无法再次利用了,循环队列就可以解决这个问题 一:概念及结构: 1.循环队列概念 循环队列是一种线性数据结构&#xff0c;其操作表现基于 FIFO&#xff08;先进先出&#xff09;原则并且队尾被连接在队…

IDEA、PHPSTORM 在命令行中进行 PHP debug

然在终端执行控制器的方法php yii test/ab 即可看到触发debug 调试

视频剪辑技巧:多个视频合并新篇章,高效视频剪辑,创造无限可能

在数字媒体时代&#xff0c;视频剪辑已经成为一项重要的技能。多个视频合并是一种将多个视频片段合并成一个完整视频的技巧。这种技巧可以将不同的视频片段组合在一起&#xff0c;制作出独特且具有吸引力的视频内容。现在一起操作下云炫AI智剪如何批量合并视频的操作吧。 一、准…

友思特分享 | Neuro-T:零代码自动深度学习训练平台

来源&#xff1a;友思特 智能感知 友思特分享 | Neuro-T&#xff1a;零代码自动深度学习训练平台 欢迎关注虹科&#xff0c;为您提供最新资讯&#xff01; 工业自动化、智能化浪潮涌进&#xff0c;视觉技术在其中扮演了至关重要的角色。在汽车、制造业、医药、芯片、食品等行业…

针对CSP-J/S的每日一练:Day 11

一、审题 题目描述 给定两个大小分别为 m m m 和 n n n 的正序&#xff08;从小到大&#xff09;数组 n u m s 1 nums1 nums1 和 n u m s 2 nums2 nums2。请你找出并返回这两个正序数组的中位数。 算法的时间复杂度应该为 O ( l o g ( m n ) ) O(log (mn)) O(log(mn)) 。…

初学vue3与ts:路由跳转带参数

index-router <!-- 路由跳转 --> <template><div><div class"title-sub flex"><div>1、用router-link跳转带参数id1&#xff1a;</div><router-link to"./link?id1"><button>点我跳转</button>&…

maven 将Jar包安装到本地仓库

window系统&#xff1a; 注意事项&#xff1a;在windows中&#xff0c;使用mvn指令将jar安装到本地仓库时&#xff0c;一定要将相关资源使用“"”包裹上&#xff0c;不然会报下面的错&#xff1a; mvn install:install-file "-DfileD:\BaiduNetdiskDownload\qianzixi…