环境搭建 第二部分

无注册中心时候在轮询时候会报错,暂时忽略

写一个controller

package com.jx.user.controller;

import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/demo")
public class JxDemoController {

    @GetMapping("a")
    public Object a() throws Exception{
        return "demo";
    }
}

同样方式创建订单服务order,和操作服务operation

创建之后项目这样的

微服务调用

在微服务架构中,最常见的场景就是为服务之间的相互调用。我们以电商系统中厂件的用户下单为例来演示微服务的调用:客户向订单微服务发起一个订单操作请求,在进行保存订单之前需要调用订单微服务查看是否有该订单

我们一般吧服务的主动调用方称为服务消费方,吧服务的被效用方称为服务提供者。

项目修改
<?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">
    <parent>
        <artifactId>DemoAlibab</artifactId>
        <groupId>com.demo.aliba</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>common</artifactId>

    <dependencies>
        <!-- 引用Mybatis 和 Mysql驱动开始  -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

    </dependencies>
</project>

创建实体Order

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 * @author yangxinlei
 * @date 2020/8/11
 */
@Entity(name = "order")
@Data
public class Order {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id; // 主键自增ID

    private String name; // 品牌

    private String brand;// 签约时间

    private String category;//类目

    private String expire;// 到期时间

    private String amount;//金额

    private String contract;// 签约销售
}


创建实体User

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 * @author yangxinlei
 * @date 2020/8/11
 */
@Entity(name = "user")
public class User {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id; // 主键自增ID

    // 用户名
    private String username;

    // 密码
    private String password;

    // 手机号
    private String phone;

}
用户服务

1、导入包

2、 创建启动类

3、加载配置文件

4、创建controller service dao

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">
    <parent>
        <artifactId>DemoAlibab</artifactId>
        <groupId>com.demo.aliba</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>user</artifactId>

    <dependencies>

        <!--web-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--引入工具累-->
        <dependency>
            <groupId>com.demo.aliba</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>

    </dependencies>

</project>

UserApplication.java

package com.jx.user;


import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author yangxinlei
 * @date 2020/8/10
 */
@SpringBootApplication
@EnableDiscoveryClient
public class UserApplication {

    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class,args);
    }
}

JxUserController

package com.jx.user.controller;

import com.jx.user.service.JxUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/user")
public class JxUserController {

    @Autowired
    private JxUserService jxUserService;

    @GetMapping("getUserList")
    public Object getUserList() throws Exception{
        return jxUserService.getUserList();
    }
}

JxUserService

public interface JxUserService {
    Object getUserList() throws Exception;
}

JxUserServiceImpl

package com.jx.user.service.impl;

import com.jx.user.dao.JxUserMapper;
import com.jx.user.service.JxUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @author yangxinlei
 * @date 2020/8/11
 */
@Service
public class JxUserServiceImpl implements JxUserService {


    @Autowired
    private JxUserMapper jxUserMapper;

    @Override
    public Object getUserList() throws Exception {
        return jxUserMapper.getUserList();
    }
}

JxUserMapper

package com.jx.user.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;

import java.util.List;
import java.util.Map;

/**
 * @author yangxinlei
 * @date 2020/8/11
 */
@Mapper
public interface JxUserMapper {
    @Select("select * from user")
    List<Map<Object,Object>> getUserList();
}

application.yml

server:
  port: 8081
spring:
  application:
    name: user
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://192.168.0.2:3306/demo?characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
    username: root
    password: 123456

logging:
  level:
    com.jx.user.dao : debug

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

启动访问:127.0.0.1:8081/user/getUserList

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值