乐趣区

关于java:项目Dubbo改造

革新 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);
    }

页面成果展示

退出移动版