Java_Maven:2. maven 构建 SSM 工程

news2024/9/22 13:22:21

目录

​​​​​​​

1 需求

2 准备数据库

3 创建一个 maven 工程

4 知识点准备

4.1 依赖传递

4.2 依赖冲突的解决

4.2.1 依赖调解原则

4.2.2 排除依赖

4.2.3 锁定版本

5 定义 pom.xml

6 Dao 层

6.1 pojo 模型类

6.2 dao 层代码

6.3 配置文件

6.4 单元测试

7 Service 层

8 Web 层

9 Jsp

10 运行与测试


  • 1 需求

    • 实现 SSM 工程构建,规范依赖管理。场景:根据 id 展示商品信息
  • 2 准备数据库

    • 导入以下语句
  • 3 创建一个 maven 工程

    • 1) 新建一个 ssm_maven 项目,使用下图选中的骨架
    • 2) 填写坐标
    • 3)  查看是否使用的自己的私服
    • 4) 在 main 目录下新建 java 和 resources 文件夹
    • 5) 把 java 和 resources 文件夹转成 source root
      • Source roots (or source folders)
        • 通过这个类指定一个文件夹,告诉IntelliJ IDEA,这个文件夹及其子文件夹中包含的源代码,可以编译为构建过程的一部分。
      • Test source roots (or test source folders; shown as rootTest)
        • 这些根类似于源根,但用于用于测试的代码(例如用于单元测试)。测试源文件夹允许您将与测试相关的代码与生产代码分开。
        • 通常,源和测试源的编译结果被放置在不同的文件夹中。
      • Resource roots     (重要:springmvc使用时,web.xml常用配置的classpath所指的位置就是这个设置后的resources包下的位置)
        • 用于应用程序中的资源文件(图像、各种配置XML和属性文件等)。在构建过程中,资源文件夹的所有内容都复制到输出文件夹中.
        • 类似于源,您可以指定生成资源。您还可以指定输出文件夹中的文件夹,您的资源应该复制到。
      • Test resource roots
        • (或测试资源文件夹;如roottestresourceij;只有在java模块)是资源文件与您的测试源有关。在所有其他方面,这些文件夹类似于资源文件夹。
      • Excluded
        • 将文件标记为Excluded目录后,idea就不会为该文件创建索引,全局搜索也不会搜里面的内容,编辑代码不会智能提示,Excluded Folders相当于代码废弃场
    • 6) 修改编译版本,在 pom.xml 文件中添加
      • <build>
         <plugins>
             <!-- 设置编译版本为 1.8 -->
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <version>3.1</version >
                 <configuration>
                     <source>1.8</source>
                     <target>1.8</target>
                     <encoding>UTF-8</encoding>
                 </configuration>
             </plugin>
         </plugins>
        </build>
  • 4 知识点准备

    • 4.1 依赖传递

      • 先添加 springmvc 的核心依赖的坐标
      • <dependencies>
         <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>4.2.4.RELEASE</version>
         </dependency>
        </dependencies>
      • 会发现出现除了 spring-webmvc 以外的其他 jar。因为我们的项目依赖 spring-webmv.jar,而spring-webmv.jar 会依赖 spring-beans.jar 等等,所以 spring-beans.jar 这些 jar 包也出现在 maven 工程中,这种现象称为依赖传递。从下图中可看到他们的关系:(请注意spring-beans 的版本)
    • 4.2 依赖冲突的解决

      • 接着添加一个依赖
      • 我们会发现这两个 jar 包同时都依赖了 spring-beans
      • 但是:
        • spring-webmvc 依赖 spirng-beans-4.2.4,
        • spring-context 依赖 spring-beans-5.0.2,
        • 发现spirng-beans-4.2.4 加入到工程中,而我们希望 spring-beans-5.0.2 加入工程。这就造成了依赖冲突。解决依赖冲突有以下原则:
        • ​​​​​​​
      • 4.2.1 依赖调解原则

        • maven 自动按照下边的原则调解:
        • 1)第一声明者优先原则
          • 在 pom 文件定义依赖,先声明的依赖为准。
          • 测试:
            • 如果将上边 spring-webmvc 和 spring-context 顺序颠倒,系统将导入 spring-beans-5.0.2。
          • 分析:
            • 由于 spring-webmvc 在前边以 spring-webmvc 依赖的 spring-beans-5.0.2 为准,所以最终
            • ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​spring-beans-5.0.2 添加到了工程中。
        • 2)路径近者优先原则
          • 例如:还是上述情况,spring-contex 和 spring-webmvc 都会传递过来 spirng-beans,那如果直接把 spring-beans 的依赖直接写到 pom 文件中,那么项目就不会再使用其他依赖传递来的 spring-beans,因为自己直接在 pom 中定义 spring-beans 要比其他依赖传递过来的路径要近。
          • 在本工程中的 pom 中加入 spirng-beans-5.0.2 的依赖,根据路径近者优先原则,系统将导入spirng-beans-5.0.2:
          • ​​​​​​​
      • 4.2.2 排除依赖

        • 上边的问题也可以通过排除依赖方法辅助依赖调解,如下:
        • 比如在依赖 spring-webmvc 的设置中添加排除依赖,排除 spring-beans,
        • 下边的配置表示:依赖 spring-webmvc,但排除 spring-webmvc 所依赖的 spring-beans。
      • 4.2.3 锁定版本

        • 面对众多的依赖,有一种方法不用考虑依赖路径、声明优化等因素可以采用直接锁定版本的方法确定依赖构件的版本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定的版本的为准添加到工程中,此方法在企业开发中常用。
        • 如下的配置是锁定了 spring-beans 和 spring-context 的版本:
          • ​​​​​​​​​​​​​​
        • 还可以把版本号提取出来,使用<properties>标签设置成变量。
          • ​​​​​​​​​​​​​​
        • 注意:在工程中锁定依赖的版本并不代表在工程中添加了依赖,如果工程需要添加锁定版本的依赖则需要单独添加<dependencies></dependencies>标签,如下:
          • ​​​​​​​​​​​​​​
        • 上边添加的依赖并没有指定版本,原因是已在<dependencyManagement>中锁定了版本,所以在<dependency>下不需要再指定版本。
  • 5 定义 pom.xml

    • maven 工程首先要识别依赖,web 工程实现 SSM 整合,需要依赖 spring-webmvc5.0.2、spring5.0.2、mybatis3.4.5 等,在 pom.xml 添加工程如下依赖:
    • 分两步:
      • 1)锁定依赖版本
      • 2)添加依赖
      • <?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>
        
         <groupId>cn.itcast.ssm_maven</groupId>
         <artifactId>ssm_maven</artifactId>
         <version>1.0-SNAPSHOT</version>
         <packaging>war</packaging>
        
         <properties>
          <spring.version>5.0.2.RELEASE</spring.version>
          <springmvc.version>5.0.2.RELEASE</springmvc.version>
          <mybatis.version>3.4.5</mybatis.version>
         </properties>
        
        <!--锁定依赖版本-->
         <dependencyManagement>
          <dependencies>
           <!-- Mybatis -->
           <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>${mybatis.version}</version>
          </dependency>
        
          <!-- springMVC -->
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-webmvc</artifactId>
           <version>${springmvc.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
           <version>${spring.version}</version>
          </dependency>
         
          <!-- spring -->
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-aop</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-web</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-expression</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-beans</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-aspects</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context-support</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-test</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jdbc</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
           <version>${spring.version}</version>
          </dependency>
        
         </dependencies>
        
        </dependencyManagement>
        
        <!--添加依赖-->
         <dependencies>
          <!-- Mybatis 和 mybatis 与 spring 的整合 -->
          <dependency>
           <groupId>org.mybatis</groupId>
           <artifactId>mybatis</artifactId>
          </dependency>
          
          <dependency>
           <groupId>org.mybatis</groupId>
           <artifactId>mybatis-spring</artifactId>
           <version>1.3.1</version>
          </dependency>
        
          <!-- MySql 驱动 -->
          <dependency>
           <groupId>mysql</groupId>
           <artifactId>mysql-connector-java</artifactId>
           <version>5.1.32</version>
          </dependency>
         
          <!-- druid 数据库连接池 -->
          <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>druid</artifactId>
           <version>1.0.9</version>
          </dependency>
        
          <!-- springMVC 核心-->
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-webmvc</artifactId>
          </dependency>
        
          <!-- spring 相关 -->
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context</artifactId>
          </dependency>
          
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-core</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-aop</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-web</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-expression</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-beans</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-aspects</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-context-support</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-test</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-jdbc</artifactId>
          </dependency>
        
          <dependency>
           <groupId>org.springframework</groupId>
           <artifactId>spring-tx</artifactId>
          </dependency>
        
          <!-- junit 测试 -->
          <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.12</version>
          </dependency>
        
          <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>servlet-api</artifactId>
           <version>2.5</version>
           <scope>provided</scope>
          </dependency>
        
          <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>jsp-api</artifactId>
           <version>2.0</version>
           <scope>provided</scope>
          </dependency>
        
          <!-- jstl -->
          <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>jstl</artifactId>
           <version>1.2</version>
          </dependency>
         </dependencies>
         
         <build>
          <plugins>
           <!-- 设置编译版本为 1.8 -->
           <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version >
            <configuration>
             <source>1.8</source>
             <target>1.8</target>
             <encoding>UTF-8</encoding>
            </configuration>
           </plugin>
         
           <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <version>2.2</version>
            <configuration>
             <path>/</path>
             <port>8080</port>
            </configuration>
           </plugin>
          </plugins>
         </build>
        </project>
  • 6 Dao 层

    • 在 src/main/java 中定义 dao 接口,实现根据 id 查询商品信息:
    • 6.1 pojo 模型类

      • 在 src/main/java 创建模型类
      • ​​​​​​​​​​​​​​
      • public class Items {
         private Integer id;
         private String name;
         private Float price;
         private String pic;
         private Date createtime;
         private String detail;
         ………
        }

        ​​​​​​​​​​​​

    • 6.2 dao 层代码

      • ​​​​​​​​​​​​​​
    • 6.3 配置文件

      • 注意配置文件的位置
        • ​​​​​​​​​​​​​​
      • 内容如下
        • <?xml version="1.0" encoding="UTF-8" ?>
          <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
          "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
          <mapper namespace="cn.itcast.ssm.dao.ItemsMapper" >
           <select id="findById" parameterType="int" resultType="items">
           select * from items where id=#{id}
           </select>
          </mapper>
      • 在 src/main/resources 创建applicationContext.xml
        • ​​​​​​​
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
                  xmlns:context="http://www.springframework.org/schema/context" 
                  xmlns:p="http://www.springframework.org/schema/p"
                  xmlns:aop="http://www.springframework.org/schema/aop" 
                  xmlns:tx="http://www.springframework.org/schema/tx"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://www.springframework.org/schema/beans 
                      http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                      http://www.springframework.org/schema/context ​​​​​​​
                      http://www.springframework.org/schema/context/spring-context-4.0.xsd
                      http://www.springframework.org/schema/aop 
                      http://www.springframework.org/schema/aop/spring-aop-4.0.xsd 
                      http://www.springframework.org/schema/tx 
                      http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
                      http://www.springframework.org/schema/util 
                      http://www.springframework.org/schema/util/spring-util-4.0.xsd">
              
              <!-- 数据库连接池 -->
              <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
                  <!-- 驱动 -->
                  <property name="driverClassName" value="com.mysql.jdbc.Driver" />
                  <!-- url -->
                  <property name="url" value="jdbc:mysql://localhost:3306/maven" />
                  <!-- 用户名 -->
                  <property name="username" value="root" />
                  <!-- 密码 -->
                  <property name="password" value="root" />
              </bean>
              <!-- mapper 配置 -->
              <!-- 让 spring 管理 sqlsessionfactory 使用 mybatis 和 spring 整合包中的 -->
              <bean id="sqlSessionFactory" 
          class="org.mybatis.spring.SqlSessionFactoryBean">
                  <!-- 数据库连接池 -->
                  <property name="dataSource" ref="dataSource" />
                  <property name="typeAliasesPackage" 
          value="cn.itcast.ssm.pojo"></property>
              </bean>
          
              <!-- mapper 扫描器 :用来产生代理对象-->
              <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
                  <property name="basePackage" value="cn.itcast.ssm.dao"></property>
              </bean>
          </beans>

      • ​​​​​​​​​​​​​​​​​​​​​在 src/main/resources 配置 log4j.properties
        • ### direct log messages to stdout ###
          log4j.appender.stdout=org.apache.log4j.ConsoleAppender
          log4j.appender.stdout.Target=System.out
          log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
          log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5
          p %c{1}:%L - %m%n
          ### set log levels - for more verbose logging change 'info' to 
          'debug' ###
          #在开发阶段日志级别使用 debug
          log4j.rootLogger=debug, stdout
          ### 在日志中输出 sql 的输入参数 ###
          log4j.logger.org.hibernate.type=TRACE
    • 6.4 单元测试

      • 在 src/test/java 创建单元测试类
        • ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​
          public class ItemsMapperTest {
              @Test
               public void testFindItemsById() {
                  //获取 spring 容器
                  ApplicationContext applicationContext = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
                  //获取 Mapper
                  ItemsMapper itemsMapper = applicationContext.getBean(ItemsMapper.class);
                  //调用 Mapper 方法
                  Items items = itemsMapper.findById(1);
                  System.out.println(items);
              }
          }
  • 7 Service 层

    • 7.1 代码
      • ​​​​​​​
        @Service
        @Transactional
        public class ItemsServiceImpl implements ItemsService {
        
            @Autowired
            private ItemsMapper itemsMapper;
            @Override
            public Items findById(int itemId) {
                return itemsMapper.findById(itemId);
            }
        }
  • 7.2 配置文件
    • 在 applicationContext.xml 中配置 service
      • <context:component-scan base-package="cn.itcast.ssm.service"/>
  • 8 Web 层

    • 8.1 代码
      • @Controller
        @RequestMapping("/items/")
        public class ItemsController {
            @Autowired
            private ItemsService itemsService ;
        // 展示商品信息页面
            @RequestMapping("/showItem") 
            public String showItem(int id,Model model){
                Items items = itemsService.findById(id);
                model.addAttribute("item", items);
                return "viewItem";
            }
        }
        ​​​​​​​​​​​​​​
  • 8.2 配置文件
    • 在 springmvc.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:p="http://www.springframework.org/schema/p"
            xmlns:context="http://www.springframework.org/schema/context"
            xmlns:mvc="http://www.springframework.org/schema/mvc"
            xsi:schemaLocation="http://www.springframework.org/schema/beans
                http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
                http://www.springframework.org/schema/mvc 
                http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd
                http://www.springframework.org/schema/context 
                http://www.springframework.org/schema/context/spring-context-4.2.xsd">
            
            <context:component-scan
                base-package="cn.itcast.ssm.controller"></context:component-scan>
        
            <!-- 配置视图解析器的前缀和后缀 -->
            <bean
                class="org.springframework.web.servlet.view.InternalResourceViewResolve​​​​​​​r">
                <property name="prefix" value="/WEB-INF/jsp/"></property>
                <property name="suffix" value=".jsp"></property>
            </bean>
        </beans>

      • ​​​​​​​​​​​​​​Web.xml
        • 加载 spring 容器,配置 springmvc 前端控制器
          • ​​​​​​​​​​​​​​
            <?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" 
                    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
                        http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
             
                <!-- 前端控制器 加载 springmvc 容器 -->
                <servlet>
                    <servlet-name>springmvc</servlet-name>
                        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servl
            et-class>
                    <init-param>
                        <param-name>contextConfigLocation</param-name>
                        <param-value>classpath:springmvc.xml</param-value>
                    </init-param>
                </servlet>
            
                <servlet-mapping>
                    <servlet-name>springmvc</servlet-name>
                    <url-pattern>*.action</url-pattern>
                </servlet-mapping>
            
                <!-- 监听器 加载 spring 容器 -->
                <listener>
                    <listener-class>org.springframework.web.context.ContextLoaderListener</
            listener-class>
                </listener>
            
                <context-param>
                    <param-name>contextConfigLocation</param-name>
                    <param-value>classpath*:applicationContext*.xml</param-value>
                </context-param>
            </web-app>

  • 9 Jsp

    • /WEB-INF/jsp/viewItem.jsp 如下:
      • ​​​​​​​
        <%@ page language="java" contentType="text/html; charset=UTF-8"
                pageEncoding="UTF-8"%>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
        <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>商品信息</title>
        </head>
        <body>
        <form>
            <table width="100%" border=1>
                <tr>
                    <td>商品名称</td>
                    <td> ${item.name } </td>
                </tr>
                <tr>
                    <td>商品价格</td>
                    <td> ${item.price } </td>
                </tr>
                <tr>
                    <td>生成日期</td>
                    <td> <fmt:formatDate value="${item.createtime}" 
                                        pattern="yyyy-MM-dd HH:mm:ss"/> </td>
                </tr>
                 <tr>
                    <td>商品简介</td>
                    <td>${item.detail} </textarea></td>
                </tr>
            </table>
        </form>
        </body>
        </html>

  • 10 运行与测试

    • 添加tomcat7插件,双击右侧tomcat7运行
      • ​​​​​​​
    • 运行结果如下

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

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

相关文章

软件测试面试准备——(一)Selenium(1)基础问题及自动化测试

滴滴面试&#xff1a;1. 自己负责哪部分功能&#xff1f;农餐对接系统分为了两大子系统&#xff0c;一个是个人订餐系统&#xff0c;二是餐馆、个人与农产品供应商进行农产品交易系统。我主要负责组织测试人员对该系统进行测试。我们测试分为两个阶段&#xff1a;一、功能测试阶…

Http发展历史

1 缘起 有一次&#xff0c;听到有人在议论招聘面试的人员&#xff0c; 谈及应聘人员的知识深度&#xff0c;说&#xff1a;问了一些关于Http的问题&#xff0c;如Http相关结构、网络结构等&#xff0c; 然后又说&#xff0c;问没问相关原理、来源&#xff1f; 我也是有些困惑了…

Spring Boot开发实战——echarts图标填充数据

echarts模块的导入 先看看成品吧&#xff01; 有的图标的数据用了一些计算框架不是直接查数据库所以有点慢。 ok&#xff01;&#x1f603; 上正文&#xff0c;接上节Spring boot项目开发实战——&#xff08;LayUI实现前后端数据交换与定义方法渲染数据&#xff09;讲解了一般…

百度版本gactgpt即将来临,gpt人工智能机器横空出世

百度版本gactgpt即将来临&#xff0c;gpt人工智能机器横空出世&#xff0c;“一言”为定&#xff01;百度版ChatGPT确认&#xff01;李彦宏OKR曝光&#xff0c;率先应用于收索业务 gactCBT 大获&#xff0c;当下极有可能成为人工智能的 iPhone 时刻。为了在这场人工智能竞赛中…

Redis面试知识

概述 Redis 是速度非常快的非关系型(NoSQL)内存键值数据库,可以存储键和五种不同类型的值之间的映射。 键的类型只能为字符串,值支持五种数据类型:字符串、列表、集合、散列表、有序集合。 Redis 支持很多特性,例如将内存中的数据持久化到硬盘中,使用复制来扩展读性能…

解决workman部署到Linux环境无法启动和连接的问题(结合TP6框架)

0、检查Linux是否满足workman的环境要求 curl -Ss www.workerman.net | php看要求的环境是否都是ok。 如果出现&#xff1a; workman Call to undefined function stream_socket_server()解决方案&#xff1a;去PHP的配置文件查找disabled_function&#xff0c;去掉stream_s…

SAP NetWeaver版本和SAP Kernel版本的确定

SAP NetWeaver&#xff08;SAP NW&#xff09;描述了用于“业务启用”的所有软件和服务。SAP业务套件&#xff08;如ERP中央组件&#xff08;ECC&#xff09;或供应商关系管理&#xff08;SRM&#xff09;&#xff09;包含该特定业务解决方案的软件组件。 以下是SAP NetWeaver…

el-table+selet+pagination回显触发selection-change事件,打印的数组出现数据重复问题

目录 一、应用场景 二、问题描述 三、原因分析* 四、解决办法 一、应用场景 1】vue项目 2】el-conversation组件 3】使用el-table组件 4】使用type"select"属性 5】使用selection-change事件 6】使用toggleRowSelection方法 7】混合使用el-pagination组件 二…

《论文阅读》Towards Emotional Support Dialog Systems

《论文阅读》Towards Emotional Support Dialog Systems 前言简介思路出发点相关知识区别EC、ER和ESCEmotional Support Conversation任务定义ESC框架数据集总结前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小白…

页表与线程学习

线程 线程(TCB)是进程(PCB)的基本单位。 linux认为没有进程&#xff0c;没有线程在概念上的区分&#xff0c;只有一个叫做执行流。这句话指明了都是PCB。 Linux的线程是用进程(PCB)模拟的. 这样做的好处 不用在单独设计TCB。不用维护TCB和PCB之间的关系。不用单独编写任何调度…

Day888.MySQL是怎么保证主备一致的 -MySQL实战

MySQL是怎么保证主备一致的 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于MySQL是怎么保证主备一致的内容。 MySQL 能够成为现下最流行的开源数据库&#xff0c;binlog 功不可没。 在最开始&#xff0c;MySQL 是以容易学习和方便的高可用架构&#xff0c;被开发人…

从0到1一步一步玩转openEuler--13 openEuler用户组管理

文章目录13.1 创建用户组13.1.1 groupadd命令13.1.2 用户组信息文件13.1.3 创建用户组实例13.2 修改用户组13.2.1 修改GID13.2.2 修改用户组名13.3 删除用户组13.4 将用户加入用户组或从用户组中移除13.5 切换用户组在Linux中&#xff0c;每个普通用户都有一个账户&#xff0c;…

集群使用——资源管理和租户创建

概述 OceanBase 数据库是多租户的分布式数据库&#xff0c;租户使用的资源建立在资源池上。资源池包含了资源单元&#xff0c;而资源单元则规定了具体资源的量化&#xff08;如 CPU、Memory、Disk_Size 和 IOPS 等&#xff09;。 创建租户前&#xff0c;必须规定租户使用的资源…

Java 面向对象基础

文章目录一、类和对象1. 类的定义2. 对象的使用二、对象内存图三、成员变量和局部变量四、封装1. private 关键字2. this 关键字五、构造方法六、标准类制作一、类和对象 在此之前&#xff0c;我们先了解两个概念&#xff0c;对象和类。 万物皆对象&#xff0c;客观存在的事物…

C语言基础应用(一)数据类型

一、数据类型 1、数据类型的分类 2、常量 常量是固定值&#xff0c;在程序执行期间不会改变。这些固定的值&#xff0c;又叫做字面量。 2.1 常量举例 // 整型常量 举例 /*718 十进制0213 八进制0x4b 十六进制30u 无符号整数30l 长整型30ul 无符号长整型*/ // 浮点常量…

LoadRunner安装教程

备注&#xff1a;电脑最好安装有IE浏览器或者360极速版浏览器 一、下载安装包 提前下载安装文件&#xff0c;必须下载。 链接: https://pan.baidu.com/s/1blFiMIJcoE8s3uVhAxdzdA?pwdqhpt 提取码: qhpt 包含的文件有&#xff1a; 二、安装loadrunner 注意&#xff0c;以…

虚拟机CPU占用100%问题记录

项目场景 kswapd0占用CPU过高&#xff0c;严重影响服务器及虚拟机的使用。 原因分析 kswapd0 是 Linux 系统虚拟内存管理中负责换页的进程。 系统物理内存不足时&#xff0c;kswapd0 会频繁的进行换页操作&#xff08;使用swap分区与内存换页操作交换数据&#xff09;&…

java手机短信验证,并存入redis中,验证码时效5分钟

目录 1、注册发送短信账号一个账号 2、打开虚拟机&#xff0c;将redis服务端打开 3、创建springboot工程&#xff0c;导入相关依赖 4、写yml配置 5、创建controller层&#xff0c;并创建controller类 6、创建service层&#xff0c;并创建service类 7、创建工具类&#x…

STL——priority_queue

一、priority_queue介绍及使用 1.priority_queue文档介绍 &#xff08;1&#xff09;优先队列是一种容器适配器&#xff0c;根据严格的弱排序标准&#xff0c;它的第一个元素总是它所包含的元素中最大的。 &#xff08;2&#xff09;此上下文类似与堆&#xff0c;在堆中可以…

树与图中的dfs和bfs—— AcWing 846. 树的重心 AcWing 847. 图中点的层次

一、AcWing 846. 树的重心1.1题目1.2思路分析题意&#xff1a;什么是树的重心&#xff1f;树的重心是指&#xff0c;删除某个结点后剩下的最大连通子树的结点数目最小&#xff0c;如下图是根据样列生成的树&#xff0c;若删除结点1&#xff0c;则剩下三个子树最大的是中间那颗结…