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.pswp.cn/news/167279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167279.shtml
英文地址,請注明出處:http://en.pswp.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…

移動端瀏覽器 jquery 獲取 pdf blob文件流 預覽pdf

最近遇到一個需求&#xff0c;一個古早的移動端 juery 項目要求做一個頁面&#xff0c;從接口獲取 pdf 文件流&#xff0c;然后預覽出來 這里使用第三方工具&#xff1a;pdf.js 代碼如下&#xff1a; // 引入相關文件<script src"../js/pdf.js" type"text…

N_1 驗證密碼

N_1 驗證密碼 題目 設計一個用戶密碼驗證程序&#xff0c;要求密碼輸入只有3次機會&#xff0c;且密碼中不能包含”*”字符。 分析 需要考慮3個問題&#xff1a;驗證次數、特殊字符和正誤密碼判斷&#xff1b;驗證次數需要使用循環&#xff0c;3個問題需要用到分支結構&…

java 系統屬性和環境屬性

Java系統屬性和環境屬性都是與Java應用程序相關的參數&#xff0c;但它們有以下區別&#xff1a; 系統屬性是由Java虛擬機&#xff08;JVM&#xff09;設置的&#xff0c;而環境屬性是由操作系統設置的。 系統屬性是以“-D”開頭的命令行參數傳遞給JVM的&#xff0c;而環境屬性…

深入理解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…

Elasticsearch基礎優化

分片策略 分片和副本得設計為ES提供支付分布式和故障轉移得特性&#xff0c;但不意味著分片和副本是可以無限分配&#xff0c; 而且索引得分片完成分配后由于索引得路由機制&#xff0c;不能重新修改分片數&#xff08;副本數可以動態修改&#xff09; 一個分片得底層為一個l…

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 檢查操作系統版…

package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義

"element-ui": "^2.15.1", 版本號&#xff1a; 2.15.1 對應 x.y.z z &#xff1a;表示一些小的bugfix, 更改z的號&#xff1b;(修復補丁-z)&#xff08;~符號&#xff09; y &#xff1a;表示一些大的版本更改&#xff0c;比如一些API的變化&#xff1b;(…

迭代器模式 (Iterator Pattern)

定義 迭代器模式&#xff08;Iterator Pattern&#xff09;是一種行為型設計模式&#xff0c;用于順序訪問集合對象的元素&#xff0c;而無需知道集合對象的底層表示。迭代器模式將遍歷集合的責任從集合對象轉移到迭代器對象上&#xff0c;這簡化了集合接口和實現&#xff0c;…

計算機應用基礎_錯題集_基礎知識---網絡教育統考工作筆記006

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄 前言一、基礎知識部分錯題集總結前言 計算機應用基礎統考,錯題集總結 一、基礎知識部分 基礎知識部分 2、微處理器芯片的位數即指______。 A.速度 B.字長 C.

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…

PTA-6-312 使用多態實現圖書館計算罰金功能

題目&#xff1a; 圖書館提供給讀者借閱服務&#xff0c;包括借閱書籍及音像制品。如果借閱超時需要繳納罰金。對于不同類型的書籍和音像制品罰款規則不同。 成人書籍:允許借閱的時間是21天&#xff0c;每超時1天&#xff0c;需要繳納罰金2元;如果超時3天以上&#xff0c;超出的…