dubbo_common
jar
User.java
package com.lichun.pojo;
import java.io.Serializable;
public class User implements Serializable {
private Integer id;
private String username;
private Integer age;
@Override
public String toString() {
return “User{” +
“id=” + id +
“, username='” + username + ‘’’ +
“, age=” + age +
‘}’;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
4. 创建接口子模块
此模块,主要存放业务接口的定义,它是服务消费者模块和服务提供者模块的公共依赖模块
<?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”>
dubbo_parent
com.lichun
1.0-SNAPSHOT
4.0.0
dubbo_interface
jar
com.lichun
dubbo_common
1.0-SNAPSHOT
UserService.java
package com.lichun.service;
import com.lichun.pojo.User;
public interface UserService {
User findById(Integer id);
}
5. 创建服务提供者模块
只要能启动spring的容器(加载spring的配置文件)就可以启动项目,因此有三种启动项目方式:
-
ClassPathXmlApplication
-
监听器
-
DispatcherServlet
注册中心验证:
注意:
-
消费者与提供者应用名称不能相同
-
如果有多个服务提供者,名称不能相同,通信端口也不能相同
-
只有服务提供者才会配置服务发布的协议,默认是dubbo协议,端口号是20880
<dubbo:protocol name=“dubbo” port=“20881”></dubbo:protocol>
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">
dubbo_parent
com.lichun
1.0-SNAPSHOT
4.0.0
dubbo_provider
war
com.lichun
dubbo_interface
1.0-SNAPSHOT
org.springframework
spring-webmvc
com.alibaba
dubbo
org.apache.zookeeper
zookeeper
org.apache.curator
curator-framework
org.apache.curator
curator-recipes
org.mybatis
mybatis
org.mybatis
mybatis-spring
com.alibaba
druid
mysql
mysql-connector-java
org.springframework
spring-tx
org.springframework
spring-jdbc
org.slf4j
slf4j-log4j12
UserDao.java
package com.lichun.dao;
import com.lichun.pojo.User;
import org.apache.ibatis.annotations.Select;
public interface UserDao {
@Select(“select * from t_user where id = #{id}”)
User findById(Integer id);
}
UserServiceImpl.java
package com.lichun.service.impl;
import com.lichun.dao.UserDao;
import com.lichun.pojo.User;
import com.lichun.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
public class UserServiceImpl implements UserService {
@Autowired
UserDao userDao;
@Override
public User findById(Integer id) {
User user = userDao.findById(id);
return user;
}
}
MyApplicationContext.java
package com.lichun;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
public class MyApplicationContext {
public static void main(String[] args) throws IOException {
new ClassPathXmlApplicationContext(“classpath:spring-provider.xml”);
System.in.read();
}
}
log4j.properties
direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.err
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
set log levels - for more verbose logging change ‘info’ to ‘debug’
log4j.rootLogger=debug, stdout
spring-dao.xml
-
配置数据源
-
配置sqlSessionFactory对象
-
扫描dao包,创建dao接口的动态代理对象
<beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
spring-service.xml
- 配置事务(事务管理器,注解事务)
<beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:tx=“http://www.springframework.org/schema/tx”
xsi:schemaLocation=“http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd”>
<tx:annotation-driven transaction-manager=“txManager”/>
spring-provider.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns=“http://www.springframework.org/schema/beans”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance” xmlns:dubbo=“http://dubbo.apache.org/schema/dubbo”
xsi:schemaLocation=“http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd”>
<dubbo:application name=“dubbo_provider”/>
<dubbo:registry address=“zookeeper://127.0.0.1:2181”/>
<dubbo:service interface=“com.lichun.service.UserService” ref=“userService”/>
web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xmlns=“http://java.sun.com/xml/ns/javaee”
xsi:schemaLocation=“http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd”
version=“2.5”>
contextConfigLocation
classpath:spring-provider.xml
org.springframework.web.context.ContextLoaderListener
6. 创建服务消费者模块
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”>
dubbo_parent
com.lichun
1.0-SNAPSHOT
4.0.0
dubbo_consumer
war
com.lichun
dubbo_interface
1.0-SNAPSHOT
org.springframework
spring-webmvc
com.fasterxml.jackson.core
jackson-core
2.9.0
com.fasterxml.jackson.core
jackson-databind
2.9.0
com.fasterxml.jackson.core
jackson-annotations
2.9.0
javax.servlet
servlet-api
2.5
provided
com.alibaba
dubbo
org.apache.zookeeper
zookeeper
org.apache.curator
curator-framework
org.apache.curator
curator-recipes
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
Java中高级面试高频考点整理
最后分享Java进阶学习及面试必备的视频教学
或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-5qzpEXJ4-1712073167173)]
[外链图片转存中…(img-Zb5rRFFO-1712073167174)]
[外链图片转存中…(img-uXOpo3kb-1712073167174)]
[外链图片转存中…(img-cgZFO1XW-1712073167175)]
[外链图片转存中…(img-6ANEbn4B-1712073167175)]
[外链图片转存中…(img-9qrOO6EM-1712073167176)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-7O6TikBg-1712073167176)]
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
[外链图片转存中…(img-CLw1LEaS-1712073167177)]
Java中高级面试高频考点整理
[外链图片转存中…(img-dbri2Bwx-1712073167177)]
[外链图片转存中…(img-bEcI59bf-1712073167177)]
最后分享Java进阶学习及面试必备的视频教学
[外链图片转存中…(img-RvBm7sBI-1712073167178)]