革新 SSO
增加 jar 包文件
<!-- 引入 dubbo 配置 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
创立 DubboUserService 接口
创立提供者实现类
编辑提供者 YML 配置文件
server:
port: 8093
servlet:
context-path: /
spring:
datasource:
#引入 druid 数据源
#type: com.alibaba.druid.pool.DruidDataSource
#driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/jtdb?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
username: root
password: root
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
#mybatis-plush 配置
mybatis-plus:
type-aliases-package: com.jt.pojo
mapper-locations: classpath:/mybatis/mappers/*.xml
configuration:
map-underscore-to-camel-case: true
logging:
level:
com.jt.mapper: debug
#对于 Dubbo 配置
dubbo:
scan:
basePackages: com.jt #指定 dubbo 的包门路 扫描 dubbo 注解
application: #利用名称
name: provider-user #一个接口对应一个服务名称(一个接口能够有多个实现)registry: #registry 示意注册核心,用户获取的数据在从机中获取,主机只负责监控整个集群,实现数据同步
address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183
protocol: #指定协定
name: dubbo #应用 dubbo 协定(tcp-ip) web-controller 间接调用 sso-Service
port: 20880 #每一个服务都有本人特定的端口 不能反复.
启动服务提供者
测试 Dubbo 服务器启动是否失常
革新消费者 -WEB
注入 Service 接口
编辑消费者配置文件
server:
port: 8092
spring: #定义 springmvc 视图解析器
mvc:
view:
prefix: /WEB-INF/views/
suffix: .jsp
dubbo:
scan:
basePackages: com.jt
application:
name: consumer-web #定义消费者名称
registry: #注册核心地址
address: zookeeper://192.168.126.129:2181?backup=192.168.126.129:2182,192.168.126.129:2183
启动成果测试
用户模块的实现
用户注册
URL 剖析
依据 url 地址阐明申请为同域申请
参数信息
页面 JS 剖析
阐明:依据剖析获取返回值数据信息应该为 SysResult 对象
编辑 UserController
/**
* 需要:实现用户信息注册
* url:http://www.jt.com/user/doRegister
* 参数:password: admin123 username: adming2222 phone: 13111111111
* 3, 返回值后果 SysResult 对象
*/
@RequestMapping("/doRegister")
@ResponseBody // 将数据转化为 json
public SysResult saveUser(User user){
// 消费者基于 dubbo 协定将 user 对象进行近程网络数据传输
userService.saveUser(user);
return SysResult.success();}
编辑 UserService
/**
* 注意事项:
* 1. 临时应用电话号码代替邮箱
* 2. 明码进行 md5 加密.
* 3. 入库操作留神事务管制
* @param user
*/
@Override
public void saveUser(User user) {
String md5Pass =
DigestUtils.md5DigestAsHex(user.getPassword().getBytes());
user.setEmail(user.getPhone())
.setPassword(md5Pass);
userMapper.insert(user);
}
页面成果展示