SpringCloud(第 001 篇)简单用户微服务

SpringCloud(第 001 篇)简单用户微服务

一、大致介绍

通过 RestAPI 接口 /simple/{id} 来简单获取 H2 数据库中的用户信息,并且数据库中的字段与实体 User 类的字段相互映射 。

二、实现步骤

2.1 添加 maven 引用包

1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 7 <artifactId>springms-simple-provider-user</artifactId> 8 <version>1.0-SNAPSHOT</version> 9 <packaging>jar</packaging> 10 11 <parent> 12 <groupId>com.springms.cloud</groupId> 13 <artifactId>springms-spring-cloud</artifactId> 14 <version>1.0-SNAPSHOT</version> 15 </parent> 16 17 <dependencies> 18 <!-- 访问数据库模块 --> 19 <dependency> 20 <groupId>org.springframework.boot</groupId> 21 <artifactId>spring-boot-starter-data-jpa</artifactId> 22 </dependency> 23 24 <!-- web模块 --> 25 <dependency> 26 <groupId>org.springframework.boot</groupId> 27 <artifactId>spring-boot-starter-web</artifactId> 28 </dependency> 29 30 <!-- h2数据库模块 --> 31 <dependency> 32 <groupId>com.h2database</groupId> 33 <artifactId>h2</artifactId> 34 <scope>runtime</scope> 35 </dependency> 36 37 <!-- 支持Apache Solr搜索平台,包括spring-data-solr --> 38 <dependency> 39 <groupId>org.springframework.boot</groupId> 40 <artifactId>spring-boot-starter-data-solr</artifactId> 41 </dependency> 42 </dependencies> 43 44</project>

2.2 添加应用配置文件(springms-simple-provider-user\src\main\resources\application.yml)

1server: 2 port: 8000 3spring: 4 application: 5 name: springms-simple-provider-user #全部小写 6 jpa: 7 generate-ddl: false 8 show-sql: true 9 hibernate: 10 ddl-auto: none 11 datasource: 12 platform: h2 13 schema: classpath:schema.sql 14 data: classpath:data.sql 15logging: 16 level: 17 root: INFO 18 org.hibernate: INFO 19 org.hibernate.type.descriptor.sql.BasicBinder: TRACE 20 org.hibernate.type.descriptor.sql.BasicExtractor: TRACE 21 com.springms: DEBUG 22

2.3 添加 H2 数据库脚本(springms-simple-provider-user\src\main\resources\schema.sql)

1drop table user if exists; 2 3CREATE TABLE USER( 4 id BIGINT GENERATED by default as identity, 5 username VARCHAR(40), 6 name VARCHAR(20), 7 age int(3), 8 balance DECIMAL(10, 2), 9 PRIMARY KEY(id) 10); 11

2.4 插入 H2 数据库一些初始化数据(springms-simple-provider-user\src\main\resources\data.sql)

1INSERT into user (id, username, name, age, balance) values (1, 'user1', '张三', 20, 100.00); 2INSERT into user (id, username, name, age, balance) values (2, 'user2', '李四', 22, 100.00); 3INSERT into user (id, username, name, age, balance) values (3, 'user3', '王五', 24, 100.00); 4INSERT into user (id, username, name, age, balance) values (4, 'user4', '赵六', 26, 100.00); 5INSERT into user (id, username, name, age, balance) values (5, 'user5', '李逵', 27, 100.00); 6INSERT into user (id, username, name, age, balance) values (6, 'user6', '张远', 10, 100.00); 7INSERT into user (id, username, name, age, balance) values (7, 'user7', '迪拜', 60, 100.00); 8INSERT into user (id, username, name, age, balance) values (8, 'user8', '哈士奇', 40, 100.00); 9INSERT into user (id, username, name, age, balance) values (9, 'user9', '关羽', 30, 100.00); 10

2.5 添加访问底层数据模型的DAO接口(springms-simple-provider-user\src\main\java\com\springms\cloud\repository\UserRepository.java)

1package com.springms.cloud.repository; 2 3import com.springms.cloud.entity.User; 4import org.springframework.data.jpa.repository.JpaRepository; 5import org.springframework.stereotype.Repository; 6 7@Repository 8public interface UserRepository extends JpaRepository<User, Long> { 9 10} 11

2.6 添加实体用户类User(springms-simple-provider-user\src\main\java\com\springms\cloud\entity\User.java)

1package com.springms.cloud.entity; 2 3import java.math.BigDecimal; 4 5import javax.persistence.Column; 6import javax.persistence.Entity; 7import javax.persistence.GeneratedValue; 8import javax.persistence.GenerationType; 9import javax.persistence.Id; 10 11@Entity 12public class User { 13 @Id 14 @GeneratedValue(strategy = GenerationType.AUTO) 15 private Long id; 16 17 @Column 18 private String username; 19 20 @Column 21 private String name; 22 23 @Column 24 private Short age; 25 26 @Column 27 private BigDecimal balance; 28 29 public Long getId() { 30 return this.id; 31 } 32 33 public void setId(Long id) { 34 this.id = id; 35 } 36 37 public String getUsername() { 38 return this.username; 39 } 40 41 public void setUsername(String username) { 42 this.username = username; 43 } 44 45 public String getName() { 46 return this.name; 47 } 48 49 public void setName(String name) { 50 this.name = name; 51 } 52 53 public Short getAge() { 54 return this.age; 55 } 56 57 public void setAge(Short age) { 58 this.age = age; 59 } 60 61 public BigDecimal getBalance() { 62 return this.balance; 63 } 64 65 public void setBalance(BigDecimal balance) { 66 this.balance = balance; 67 } 68} 69

2.7 添加用户Web访问层Controller(springms-simple-provider-user\src\main\java\com\springms\cloud\controller\MsSimpleProviderUserController.java)

1package com.springms.cloud.controller; 2 3import com.springms.cloud.entity.User; 4import com.springms.cloud.repository.UserRepository; 5import org.springframework.beans.factory.annotation.Autowired; 6import org.springframework.web.bind.annotation.GetMapping; 7import org.springframework.web.bind.annotation.PathVariable; 8import org.springframework.web.bind.annotation.RestController; 9 10/** 11 * 用户微服务Controller。 12 * 13 * @author hmilyylimh 14 * 15 * @version 0.0.1 16 * 17 * @date 2017/9/17 18 * 19 */ 20@RestController 21public class MsSimpleProviderUserController { 22 23 @Autowired 24 private UserRepository userRepository; 25 26 @GetMapping("/simple/{id}") 27 public User findById(@PathVariable Long id) { 28 return this.userRepository.findOne(id); 29 } 30} 31 32

2.8 添加简单用户微服务启动类(springms-simple-provider-user\src\main\java\com\springms\cloud\MsSimpleProviderUserApplication.java)

1package com.springms.cloud; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6/** 7 * 简单用户微服务类。 8 * 9 * @author hmilyylimh 10 * 11 * @version 0.0.1 12 * 13 * @date 2017/9/17 14 * 15 */ 16@SpringBootApplication 17public class MsSimpleProviderUserApplication { 18 19 public static void main(String[] args) { 20 SpringApplication.run(MsSimpleProviderUserApplication.class, args); 21 System.out.println("【【【【【【 简单用户微服务 】】】】】】已启动."); 22 } 23} 24

三、测试

1/**************************************************************************************** 2 一、简单用户微服务接口测试: 3 4 1、启动 springms-simple-provider-user 模块服务,启动1个端口; 5 2、在浏览器输入地址 http://localhost:8000/simple/1 可以看到信息成功的被打印出来。; 6 ****************************************************************************************/

四、下载地址

https://gitee.com/ylimhhmily/SpringCloudTutorial.git

SpringCloudTutorial交流QQ群: 235322432

SpringCloudTutorial交流微信群: 微信沟通群二维码图片链接

欢迎关注,您的肯定是对我最大的支持!!!

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )