总结
本文从基础到高级再到实战,由浅入深,把MySQL讲的清清楚楚,明明白白,这应该是我目前为止看到过最好的有关MySQL的学习笔记了,我相信如果你把这份笔记认真看完后,无论是工作中碰到的问题还是被面试官问到的问题都能迎刃而解!
MySQL50道高频面试题整理:
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
###output to the console###
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{dd/MM/yy HH:mm:ss:SSS z}] %t %5p %c{2}: %m%n
- 在同样位置创建dubbo配置文件dubbo.properties,内容很简单只有qos的端口设置,用于支持telnet命令:
dubbo.application.qos.port=22222
- 在resources目录下新建文件夹spring,在此文件夹下创建文件dubbo-provider.xml,要重点关注的是dubbo:registry的配置,其address属性值为multicast://224.5.6.7:1234,代表当前服务通过广播让消费者获得自身信息:
最后
笔者已经把面试题和答案整理成了面试专题文档
最后
笔者已经把面试题和答案整理成了面试专题文档
[外链图片转存中…(img-EYtpI3J3-1715136289522)]
[外链图片转存中…(img-U9dPKp2u-1715136289523)]
[外链图片转存中…(img-E2ZBN4I0-1715136289523)]
[外链图片转存中…(img-xisCqvEB-1715136289523)]
[外链图片转存中…(img-pJTQ1bvQ-1715136289524)]
[外链图片转存中…(img-KOWXjzzm-1715136289524)]