蜂信物联FastBee平台https://gitee.com/beecue/fastbee
阿里资料开源项目https://gitee.com/vip204888
百度低代码前端框架https://gitee.com/baidu/amis
OpenHarmony开源项目https://gitcode.com/openharmony
仓颉编程语言开放项目https://gitcode.com/Cangjie
3.4.7
com.github.sgroschupf
zkclient
0.1
org.projectlombok
lombok
1.16.16
com.fasterxml.jackson.core
jackson-databind
2.11.0
compile
com.fasterxml.jackson.datatype
jackson-datatype-jdk8
2.11.0
compile
org.slf4j
slf4j-log4j12
1.7.25
compile
commons-io
commons-io
2.7
compile
org.apache.commons
commons-lang3
3.10
compile
io.springfox
springfox-swagger2
2.5.0
io.springfox
springfox-swagger-ui
2.5.0
《dubbo实战》系列的二方库
-
涉及到多个工程之间的服务调用,因此要有个工程保存公用的数据结构、接口定义等,因此新建名为practiceinterface的子工程;
-
practiceinterface工程的pom.xml内容如下,非常简单:
<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”>
dubbopractice
com.bolingcavalry
1.0-SNAPSHOT
…/pom.xml
4.0.0
com.bolingcavalry
practiceinterface
1.0-SNAPSHOT
practiceinterface
Beans of all app
- 此工程目前只有一个接口定义,后面多个子工程都会用到:
package com.bolingcavalry.dubbopractice.service;
public interface DemoService {
String sayHello(String name);
}
编码(服务提供方)
- 先创建提供服务的工程helloxmldirectprovider,一共要创建6个文件,创建顺序和功能如下表:
| 创建顺序 | 文件名 | 作用 |
| — | — | — |
| 1 | pom.xml | 工程的pom文件 |
| 2 | src/main/java/com/bolingcavalry/helloxmldirectprovider/ProviderApplication.java | 启动类 |
| 3 | src/main/java/com/bolingcavalry/helloxmldirectprovider/service/impl/DemoServiceImpl.java | 提供具体的服务 |
| 4 | src/main/resources/log4j.properties | 日志配置文件 |
| 5 | src/main/resources/dubbo.properties | dubbo配置文件 |
| 6 | src/main/resources/spring/dubbo-provider.xml | spring的bean配置 |
- 完整的文件位置如下图:
- 接下来逐个创建上述内容;
- 创建名为helloxmldirectprovider的子工程,pom.xml内容如下,可见刚才新建的二方库practiceinterface也被依赖了:
<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”>
dubbopractice
com.bolingcavalry
1.0-SNAPSHOT
4.0.0
com.bolingcavalry
helloxmldirectprovider
1.0-SNAPSHOT
com.bolingcavalry
practiceinterface
${project.version}
org.apache.dubbo
dubbo
org.projectlombok
lombok
org.slf4j
slf4j-log4j12
- 编写启动类ProviderApplication.java,可见就是个普通的后台程序,加载spring配置做初始化:
package com.bolingcavalry.helloxmldirectprovider;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ProviderApplication {
public static void main(String[] args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(“spring/dubbo-provider.xml”);
context.start();
System.in.read();
}
}
- 编写提供具体服务的业务实现类DemoServiceImpl.java,只是个简单的接口实现类而已:
package com.bolingcavalry.helloxmldirectprovider.service.impl;
import com.bolingcavalry.dubbopractice.service.DemoService;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.rpc.RpcContext;
@Slf4j
public class DemoServiceImpl im
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
plements DemoService {
@Override
public String sayHello(String name) {
log.info("Hello " + name + ", request from consumer: " + RpcContext.getContext().getRemoteAddress());
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Hello " + name + ", response from provider: " + RpcContext.getContext().getLocalAddress();
}
}
- 日志配置文件log4j.properties,内容如下:
###set log levels###
log4j.rootLogger=info, stdout
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
4j.properties,内容如下:
###set log levels###
log4j.rootLogger=info, stdout
总结:心得体会
既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。
学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。
面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。
最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。
大厂Java架构核心笔记(适合中高级程序员阅读):
[外链图片转存中…(img-XNmULPOm-1725133113339)]