1、Java Bean
为什么要实现Serializable接口?当我们需要把对象的状态信息通过网络进行传输,或者需要将对象的状态信息持久化,以便将来使用时都需要把对象进行序列化。
使用了Lombok,它能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。
@Data
public class UserInfo implements Serializable {
private String account;
private String password;
}
2、UserService
服务提供方暴露的服务,将注册到zookeeper上。
public interface UserService {
// 定义用户登录的api
UserInfo login(UserInfo user);
}
3、UserServiceImpl
服务提供方暴露的服务对应的实现类。
@Component
@Service(interfaceClass = UserService.class)
public class UserServiceImpl implements UserService {
public UserInfo login(UserInfo user) {
UserInfo reUser = new UserInfo();
reUser.setAccount(“登录的账号为:”+user.getAccount());
reUser.setPassword(“登录的密码为:”+user.getPassword());
return reUser;
}
}
4、DubboProviderApplication
@SpringBootApplication
@EnableDubboConfiguration // 启用dubbo自动配置
public class DubboProviderApplication {
public static void main(String[] args) {
SpringApplication.run(DubboProviderApplication.class, args);
}
}
5、pom.xml
POM是项目对象模型(Project Object Model)的简称,它是Maven项目中的文件,使用XML表示,名称叫做pom.xml。作用类似ant的build.xml文件,功能更强大。该文件用于管理:源代码、配置文件、开发者的信息和角色、问题追踪系统、组织信息、项目授权、项目的url、项目的依赖关系等等。
<?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”>
4.0.0
com.boot.dubbo.demo
dubbo-provider
0.0.1-SNAPSHOT
jar
dubbo-provider
Demo project for Spring Boot
org.springframework.boot
spring-boot-starter-parent
2.0.6.RELEASE
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
org.springframework.boot
spring-boot-starter-web
com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
org.projectlombok
lombok
1.16.20
provided
com.101tec
zkclient
0.10
org.apache.zookeeper
zookeeper
3.4.10
org.slf4j
slf4j-log4j12
log4j
log4j
org.springframework.boot
spring-boot-starter-test
test
org.springframework.boot
spring-boot-maven-plugin
6、application.yml
Spring Boot配置文件有两种:application.yml和application.properties,作用是一样的,不过因为yml文件是树状结构,写起来有更好的层次感,更易于理解,所以很多人都选择了yml文件。
spring:
dubbo:
application:
name: dubbo-provider
protocol:
name: dubbo
port: 20880
registry:
address: zookeeper://127.0.0.1:2181
1、UserController
@RestController注解相当于@ResponseBody + @Controller合在一起的作用。如果要返回json内容,就用@RestController,如果要返回到指定页面,就用@Controller。
@Reference注解就是用于标记这个服务具体使用了生产者的哪个接口实现。
@RestController
public class UserController {
@Reference // 引用dubbo服务器提供服务器接口
private UserService userService;
@GetMapping(“/login”)
public UserInfo login(UserInfo userInfo) {
return userService.login(userInfo);
}
}
2、DubboConsumerApplication
@SpringBootApplication
@EnableDubboConfiguration // 启用dubbo自动配置
public class DubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(DubboConsumerApplication.class, args);
}
}
3、pom.xml
<?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”>
4.0.0
com.boot.dubbo.demo
dubbo-consumer
0.0.1-SNAPSHOT
jar
dubbo-consumer
Demo project for Spring Boot
org.springframework.boot
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
写在最后
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
Mybatis面试专题
MySQL面试专题
并发编程面试专题
截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-8sfv0Xnf-1712032836297)]
写在最后
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
[外链图片转存中…(img-y7o0ytrG-1712032836297)]
Mybatis面试专题
[外链图片转存中…(img-7Gm4fYfX-1712032836298)]
MySQL面试专题
[外链图片转存中…(img-2Ses4Ohs-1712032836298)]
并发编程面试专题