SpringCloud之基本使用与nacos,redis和mongodb区别面试

<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>

org.springframework.boot

spring-boot-starter-test

org.springframework.boot

spring-boot-starter-web

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-discovery

org.springframework.cloud

spring-cloud-starter-openfeign

org.projectlombok

lombok

org.springframework.boot

spring-boot-dependencies

${spring-boot.version}

pom

import

org.springframework.cloud

spring-cloud-dependencies

${spring-cloud.version}

pom

import

com.alibaba.cloud

spring-cloud-alibaba-dependencies

${spring-cloud-alibaba.version}

pom

import

3、下载nacos服务

①、nacos官网nacos官网

选择第二个:

②、启动服务:

咱们就使用cmd文件进行启动:

③、打开页面:

④、将自带的sql脚本导入数据库:

⑥、打开application.properties文件

新增连接数据库内容:并重新启动

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?

characterEncoding=utf-8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC

db.user.0=root

db.password.0=123456

2、新建子项目:生产者项目

①、子项目需要认父:pom.xml

cloud01

org.lv

1.0-SNAPSHOT

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd”>

4.0.0

com.provider

code

0.0.1-SNAPSHOT

nacos_provider

Demo project for Spring Boot

cloud01

org.lv

1.0-SNAPSHOT

<java.version>1.8</java.version>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<spring-boot.version>2.4.1</spring-boot.version>

org.apache.maven.plugins

maven-compiler-plugin

3.8.1

1.8

1.8

UTF-8

org.springframework.boot

spring-boot-maven-plugin

2.4.1

com.provider.code.NacosProviderApplication

repackage

repackage

②、父项目需要认子:pom.xml

nacos_provider

③、配置yml文件

spring:

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

application:

name: provider

server:

port: 8081

④、在启动类加入注解

//开启服务发现

@EnableDiscoveryClient

运行:

成功,并在nacos中产生服务

3、新建子项目:消费者项目

①、子项目需要认父:pom.xml,将不需要的依赖删掉,如生产者的

cloud01

org.lv

1.0-SNAPSHOT

②、父项目需要认子:pom.xml

nacos_provider

nacos_consumer

③、配置yml文件

spring:

cloud:

nacos:

discovery:

server-addr: 127.0.0.1:8848

application:

name: provider

server:

port: 8082

④、在启动类加入注解

//开启服务发现

@EnableDiscoveryClient

三、方法调用

======

例子:生产者生产物品,消费者拿

1、生产者


①、建个controller层:生产鸡腿

package com.provider.code;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

@RestController

public class ProviderController {

@RequestMapping(“/run”)

public String run(){

return “🍗”;

}

}

2、消费者


①、 在启动类写域名访问的一个对象

package com.consumer.code;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

import org.springframework.context.annotation.Bean;

import org.springframework.web.client.RestTemplate;

@SpringBootApplication

@EnableDiscoveryClient

public class NacosConsumerApplication {

public static void main(String[] args) {

SpringApplication.run(NacosConsumerApplication.class, args);

}

@Bean

// 域名访问的一个对象

public RestTemplate restTemplate(){

return new RestTemplate();

}

}

②、controller层调用对象:ConsumerController

package com.consumer.code;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.web.client.RestTemplate;

@RestController

public class ConsumerController {

private RestTemplate template;

@Autowired

public ConsumerController(RestTemplate template) {

this.template = template;

}

@RequestMapping(“/run”)

public String run(){

// 消费者找生产者要一个鸡腿(跨服务器访问)

return template.getForObject(“http://127.0.0.1:8081/run”,String.class);

}

}

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题
在这里插入图片描述

上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题

最新整理电子书

在这里插入图片描述

最新整理大厂面试文档

在这里插入图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
)]
[外链图片转存中…(img-EHsA5gxB-1711995152463)]
[外链图片转存中…(img-Hat4uXTU-1711995152463)]
[外链图片转存中…(img-S5FxBcW6-1711995152463)]
[外链图片转存中…(img-QB65Blgy-1711995152464)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-Vu4YVtRm-1711995152464)]

最后

针对最近很多人都在面试,我这边也整理了相当多的面试专题资料,也有其他大厂的面经。希望可以帮助到大家。

最新整理面试题
[外链图片转存中…(img-OwBaO5ni-1711995152464)]

上述的面试题答案都整理成文档笔记。也还整理了一些面试资料&最新2021收集的一些大厂的面试真题

最新整理电子书

[外链图片转存中…(img-tR0AiBad-1711995152464)]

最新整理大厂面试文档

[外链图片转存中…(img-RiKoEOHc-1711995152465)]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

  • 24
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值