四,Eureka 第四章

 

 

 2.1.3 增加依赖

 <!--添加依赖-->
    <dependencies>
     <!--Eureka Server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <!--增加公共方法-->
        <dependency>
            <groupId>cn.bdqn</groupId>
            <artifactId>springcloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>

         <!--测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

 2.1.4 yml

server:
    port: 7001
eureka:
    instance:
        hostname: localhost #eureka服务器端的

    client:
        #false 表示不向注册中心注册自己
        register-with-eureka: false
        #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        fetch-register: false

        server-url:
            #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
            defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 2.1.5编写主启动类


@EnableEurekaServer
@SpringBootApplication
public class EurakeServer7001Application {
    public static void main(String[] args) {
        SpringApplication.run(EurakeSever7001Application.class,args);
    }
}

2.2.2修改pom添加依赖

 <!--添加Eureka client -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

2.2.3修改yml:添加Eureka的配置 

 eureka:
   client:
     #表示是否将自己注册进EurekaServer默认为true
      register-with-eureka: true
      #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
      fetch-registry: true
      service-url:
        defaultZone: http://localhost:7001/eureka
      instance:
        prefer-ip-address: true #使用ip地址注册

2.2.4修改主启动类:标注Eureka客户端


@SpringBootApplication
@EnableEurekaClient
    public class PaymentApplication {
        public static void main(String[] args) {
            SpringApplication.run(PaymentApplication.class,args);
        }
}

 2.3.2修改pom添加依赖

        <!--eureka client-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

 2.3.3 修改yml:添加Eureka的配置

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
    fetch-registry: true
    server-url:
      defaultZone: http://localhost:7001/eureka
    instance:
      prefer-ip-address: true #使用ip地址注册

2.3.4修改启动类 标注Eureka客户端

@SpringBootApplication
@EnableEurekaClient
public class OrderApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderApplication.class,args);
    }
}

 

 2.3.4修改主启动类 标注为Eureka客户端

2.3.6补充


//    private static final String PAYMENT_URL="http://localhost:8001";
    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private DiscoveryClient discoveryClient;

    //根据id查询
    @GetMapping("/consumer/payment/get/{id}")
    public ResponseResult queryById(@PathVariable("id") Integer id){
       List<ServiceInstance> serviceInstances = discoveryClient.getInstances("SPRINGCLOUD-PAYMENT-PROVIDER-SERVICE");
       ServiceInstance instance = serviceInstances.get(0);
       ResponseResult rs = restTemplate.getForObject("http://"+instance.getHost()+instance.getPort()+"/payment/get/"+id,ResponseResult.class);
//            ResponseResult rs =restTemplate.getForObject(PAYMENT_URL+"/payment/get/"+id,ResponseResult.class);
            return rs;
    }
    //创建订单
    @GetMapping("/consumer/payment/save")
    public ResponseResult save(Payment payment){
//        ResponseResult rs =restTemplate.postForObject(PAYMENT_URL+"/payment/save", payment,ResponseResult.class);
        List<ServiceInstance> serviceInstances =   discoveryClient.getInstances("SPRINGCLOUD-PAYMENT-PROVIDER-SERVICE");
        ServiceInstance instance =  serviceInstances.get(0);
        ResponseResult rs = restTemplate.postForObject("http://"+instance.getHost()+instance.getPort()+"/payment/save",payment,ResponseResult.class);
        return  rs;
    }
}

 

 3.2.1修改pom添加依赖

<!--依赖-->
    <dependencies>

        <!--eureka server-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <!--公共方法-->
        <dependency>
            <groupId>cn.bdqn</groupId>
            <artifactId>springcloud-api-commons</artifactId>
            <version>${project.version}</version>
        </dependency>

        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--热部署工具-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>

        <!--测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

    </dependencies>

3.2.2编写yml

server:
    port: 7002

eureka:
  instance:
    hostname: eureka7002.com #eureka服务器端的

  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

    service-url:
      #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

 3.2.5 编写启动类

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer7002Application {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer7002Application.class,args);
    }
}

 

 

 

 3.3.3修改pom添加依赖


  <dependencies>
      <!--eureka server-->
      <dependency>
          <groupId>org.springframework.cloud</groupId>
          <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
      </dependency>

      <!--公共类-->
      <dependency>
          <groupId>cn.bdqn</groupId>
          <artifactId>springcloud-api-commons</artifactId>
          <version>${project.version}</version>
      </dependency>

    <!--web-->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
      </dependency>

      <!--热部署-->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-devtools</artifactId>
      </dependency>

      <!--测试-->
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-test</artifactId>
          <scope>test</scope>
      </dependency>

  </dependencies>

 3.3.4编写yml

server:
  port: 7003

eureka:
  instance:
    hostname: eureka7003.com #eureka服务器端的

  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

    service-url:
        #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
        defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/


 3.3.5编写启动类

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer7003Application {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServer7003Application.class,args);
    }
}

 

3.4.2 修改后的配置文件 

springcloud-eureka-sever-7001

server:
    port: 7001
eureka:
    instance:
        hostname: eureka7001.com #eureka服务器端的

    client:
        #false 表示不向注册中心注册自己
        register-with-eureka: false
        #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        fetch-register: false

        service-url:
            #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
           # defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
           defaultZone: http://eureka7001.com:7002/eureka/,http://eureka7003.com:7002/eureka/
           

springcloud-eureka-sever-7001 

server:
    port: 7002

eureka:
  instance:
    hostname: eureka7002.com #eureka服务器端的

  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

    service-url:
      #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
      # defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7003.com:7003/eureka/

 springcloud-eureka-sever003

server:
  port: 7003

eureka:
  instance:
    hostname: eureka7003.com #eureka服务器端的

  client:
    #false 表示不向注册中心注册自己
    register-with-eureka: false
    #false 表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
    fetch-registry: false

    service-url:
        #设置与Eureka server交互的地址查询服务和注册服务都需要依赖这个地址
       # defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7001.com:7001/eureka/

 

 

4.1支付微服务发布到 Eureka Sever中

 server:
  port: 8001
 spring:
  application:
    name: springcloud-payment-provider-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springcloud_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT
    username: root
    password: xiaoduo456new

 mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: cn.bdqn.domain # 所有Entity别名类所在包

 eureka:
   client:
     #表示是否将自己注册进EurekaServer默认为true
      register-with-eureka: true
      #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
      fetch-registry: true
      service-url:
        #defaultZone: http://localhost:7001/eureka
        defaultZone: http://eureka7001.com:7001/eureka,
                     http://eureka7002.com:7002/eureka,
                     http://eureka7003.com:7003/eureka,
      instance:
        prefer-ip-address: true #使用ip地址注册

 

 

 

 4.2订单微服务发布到Eureka Server中 

 server:
  port: 8001
 spring:
  application:
    name: springcloud-payment-provider-service
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springcloud_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT
    username: root
    password: xiaoduo456new

 mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: cn.bdqn.domain # 所有Entity别名类所在包

 eureka:
   client:
     #表示是否将自己注册进EurekaServer默认为true
      register-with-eureka: true
      #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
      fetch-registry: true
      service-url:
        #defaultZone: http://localhost:7001/eureka
        defaultZone: http://eureka7001.com:7001/eureka,
                     http://eureka7002.com:7002/eureka,
                     http://eureka7003.com:7003/eureka,
      instance:
        prefer-ip-address: true #使用ip地址注册

 

5.2.2修改pom 添加依赖

<!--依懒-->
    <dependencies>

        <!--添加Eureka client -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <!--公共的部分-->
        <dependency>
            <groupId>cn.bdqn</groupId>
            <artifactId>springcloud-api-commons</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--监控-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <!--数据库-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--阿里云数据源-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
        </dependency>
         <!--驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>

        </dependency>
        <!--jdbc-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        
        <!--lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

5.2.3编辑yml 

server:
  port: 8002

spring:
  application:
    name: springcloud-payment-provider-service

  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/springcloud_db?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=GMT
    username: root
    password: xiaoduo456new

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: cn.bdqn.domain

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册信息,默认为true 单节点无所谓,集群必须设置true 才能配合ribbon  使用负载均衡
    fetch-registry: true

    service-url:
      defaultZone: http://eureka7001.com:7001/eureka,
                   http://eureka7002.com:7002/eureka,
                   http://eureka7003.com:7003/eureka,

    instance:
      prefer-ip-address: true #使用ip地址注册

5.24编写启动类

@SpringBootApplication
@EnableEurekaClient
public class Payment8002Application {
    public static void main(String[] args) {

        SpringApplication.run(Payment8002Application.class,args);
    }
}

5.25编写PaymentMapper接口 


@Mapper
public interface PaymentMapper {

    //保存一个支付流水
    public void insert(Payment payment);

    //根据id获取具体的支付信息
    public Payment selectById(@Param("id") Integer id);
}

5.2.6编写PaymentMapper.xml映射文件

<?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.bdqn.Mapper.PaymentMapper">
    <resultMap id="PaymentResultMap" type="cn.bdqn.domain.Payment">
        <id column="id" property="id"></id>
        <id column="flow_number" property="flowNumber"></id>
    </resultMap>
    <insert id="insert" parameterType="cn.bdqn.Mapper.PaymentMapper">
        insert into t_payment(flow_number) values(#{flowNumber})
    </insert>
    <select id="selectById" resultMap="PaymentResultMap">
        select  id,flow_number from t_payment where id=#{id};
    </select>
</mapper>

 5.

5.2.7编写payment业务接口以及实现类


public interface PaymentServer {
    //保存一个支付流水
    public void save(Payment payment);

    //根据id获取具体的支付信息
    public Payment queryById(Integer id);

}

@Service
public class PaymentServerImpl implements PaymentServer {
    @Autowired
    private PaymentMapper paymentMapper;

    @Override
    public Payment queryById(Integer id) {
        return paymentMapper.selectById(id);
    }

    @Override
    public void save(Payment payment) {
         paymentMapper.insert(payment);
    }
}

 

5.2.8  编写paymentController控制器


@RestController
public class PaymentConroller {

    @Autowired
    private PaymentServerImpl paymentServer;

    @GetMapping("/payment/id/{id}")
    public ResponseResult queryById(@PathVariable(name="id") Integer id){
        Payment payment = paymentServer.queryById(id);
        if(payment!=null) {
          return  new ResponseResult(200,"成功",payment);
        }else{
          return  new ResponseResult(404,"没有对应的记录,查询id"+id,null);
        }
    }

    @PostMapping("/payment/save")
    public ResponseResult save(@RequestBody Payment payment){
        try {
            paymentServer.save(payment);
           return new ResponseResult(200,"插入成功",null);
        }catch (Exception e){
            e.printStackTrace();
           return new ResponseResult(200,"插入失败",null);
        }
    }
}


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++笔记之memset分析

C笔记之memset分析 code review! 文章目录 C\笔记之memset分析1.介绍2.误区总结3.代码一&#xff0c;char数组和uint8_t使用memset4.代码三&#xff0c;int数组使用memset 1.介绍 2.误区总结 参考文章&#xff1a;Cmemset踩坑 3.代码一&#xff0c;char数组和uint8_t使用mem…

网络安全进阶学习第七课——文件包含漏洞

文章目录 一、文件包含概念二、文件包含漏洞原理三、文件包含分类文件包含分为两种&#xff1a; 四、与文件包含相关的配置文件&#xff1a;&#xff08;php.ini文件&#xff09;五、与文件包含有关的函数1、include()2、include_once()3、require()4、require_once() 六、文件…

C# WPF项目创建(基于VS 2019介绍)

1.打开VS&#xff0c;选择《创建新项目》 2.选择《WPF应用》&#xff0c;这里设计两个有.NET Framework框架和.NET core 框架&#xff0c;如图所示&#xff1a; 区别&#xff1a; .NET Framework 框架只能在windows下使用 .NET core 框架支持linux 下运行 3. 项目名称根据需…

qsort的使用及模拟实现

qsort函数是C语言库中提供的一种快速排序&#xff0c;头文件是stdlib.h qsort的使用 qsort函数需要四个参数&#xff1a; 1.排序的起始位置的地址&#xff08;数组名&#xff09;: arr 2.排序元素的个数&#xff1a; sizeof&#xff08;arr)/sizeof(arr[0]) 3.排序元素…

Windows如何安装Django及如何创建项目

目录 1、Windows安装Django--pip命令行 2、创建项目 2.1、终端创建项目 2.2、在Pycharm中创建项目 2.3、二者创建的项目有何不同 2.4、项目目录说明 1、Windows安装Django--pip命令行 安装Django有两种方式&#xff1a; pip命令行【推荐--简单】手动安装【稍微复杂一丢丢…

Yunfly 一款高效、性能优异的node.js企业级web框架

介绍 Yunfly 一款高性能 Node.js WEB 框架, 使用 Typescript 构建我们的应用。 使用 Koa2 做为 HTTP 底层框架, 使用 routing-controllers 、 typedi 来高效构建我们的 Node 应用。 Yunfly 在 Koa 框架之上提升了一个抽象级别, 但仍然支持 Koa 中间件。在此基础之上, 提供了一…

063、故障处理之快速恢复数据

数据丢失快速恢复的重要性 目的&#xff1a;尽快修复数据&#xff0c;恢复业务 快速恢复相关技术对比 常用备份恢复技术 数据快速恢复原理 MVCC 是TiDB数据库原生的一项功能&#xff0c;默认使用无需配置&#xff0c;它使用多个历史快照的方式来维护数据在某个时间点对并…

uniapp 微信小程序 navigationBarBackgroundColor 标题栏颜色渐变

大体思路&#xff1a; 第一步&#xff1a;“navigationStyle”:“custom” 第二步&#xff1a; template内 重点&#xff1a;给view添加ref“top” 第三步&#xff1a;添加渐变色样式 1、pages.json {"path" : "pages/user/user","style" : …

java中线程池、Lambda表达式、file类、递归

线程池&#xff1a; 在多线程的使用过程中&#xff0c;会存在一个问题&#xff1a;如果并发的线程数量很多&#xff0c;并且每个线程都执行一个时间很短的任务就结束&#xff0c;这样频繁的创建线程就会大大降低系统的效率&#xff0c;因为线程的创建和销毁都需要时间。 线程…

集睿致远推出CS5466多功能拓展坞方案:支持DP1.4、HDMI2.1视频8K输出

ASL新推出的 CS5466是一款Type-C/DP1.4转HDMI2.1的显示协议转换芯片,&#xff0c;它通过类型C/显示端口链路接收视频和音 频流&#xff0c;并转换为支持TMDS或FRL输出信令。DP接收器支持81.Gbp s链路速率。HDMI输出端口可以作为TMDS或FRL发射机工作。FRL发射机符合HDMI 2.1规范…

mac 移动硬盘未正常退出,再次链接无法读取(显示)

&#xff08;1&#xff09;首先插入自己的硬盘&#xff0c;然后找到mac的磁盘工具 &#xff08;2&#xff09;打开磁盘工具&#xff0c;发现自己的磁盘分区在卸载状态&#xff1b;点击无法成功装载。 &#xff08;3&#xff09;打开终端&#xff0c;输入 diskutil list查看自…

vue 3.0 下载本地pdf文件

使用a标签,把pdf文件放到public文件夹下面 <el-form label-width"160px"> <el-form-item label"使用手册"> <div class"form-item-static"> <a href"/使用手册.pdf" target"_blank" class"link&q…

AC695-按键处理-带UI

AC695-按键修改 消息发出 对应界面处理

云安全攻防(二)之 云原生安全

云原生安全 什么是云原生安全&#xff1f;云原生安全包含两层含义&#xff1a;面向云原生环境的安全和具有云原生特征的安全 面向云原生环境的安全 面向云原生环境的安全的目标是防护云原生环境中的基础设施、编排系统和微服务系统的安全。这类安全机制不一定会具有云原生的…

ChatGPT的工作原理:从输入到输出

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

【程序人生】如何在工作中保持稳定的情绪?

前言 在工作中保持稳定的情绪是现代生活中一个备受关注的话题。随着职场压力和工作挑战的增加&#xff0c;我们常常发现自己情绪波动不定&#xff0c;甚至受到负面情绪的困扰。然而&#xff0c;保持稳定的情绪对于我们的工作效率、人际关系和整体幸福感都至关重要。 无论你是…

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.4 - 负载均衡平台

VMware NSX Advanced Load Balancer (NSX ALB) 22.1.4 - 负载均衡平台 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-nsx-alb-22/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&#xff1a;sysin.org 负载均衡平台 NSX Advanced Load…

day01_springboot综合案例

springboot项目 课程目标 1. 【掌握】SSM整合 2. 【掌握】使用SSM完成查询 3. 【理解】AdminLTE 4. 【理解】理解SSM综合案例表的结构springboot环境搭建 搭建工程 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http…

vscode恢复被误删的文件(巧用本地历史记录)

背景&#xff1a;&#xff08;希望永远不要有这个背景&#xff09;使用vscode开发项目时&#xff0c;新建了文件&#xff0c;且文件没有git add、没有git stash、没有git commit。但是不小心点中了撤销更改&#xff08;新文件的撤销更改&#xff0c;其实就是删除该新文件&#…

Set集合类详解(附加思维导图)

目录 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 2.2、TreeSet集合的使用 三、HashSet、LinkedHashSet、TreeSet的使用场景 四、list和set集合的区别 一、Set集合思维导图 二、set集合类常用方法 2.1、HashSet集合常用方法 ①&#xff1a;add…