1、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">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.test</groupId>
<artifactId>eureka-client-user</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>eureka-client-user</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency> <dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

2、在application.yml文件中添加配置

spring:
application:
name: eureka-client-user #应用名
jpa:
generate-ddl: false
show-sql: true #jpa显示sql语句
hibernate:
ddl-auto: none
datasource:
platform: h2 #数据库使用H2模拟
schema: classpath:schema.sql #sql语句配置
data: classpath:data.sql #数据配置
logging: #logging日志配置
level:
root: INFO
org.hibernate: INFO
server:
port: 8663 #服务端口 eureka:
instance:
hostname: localhost
prefer-ip-address: true
instance-id: ${spring.application.name}:${spring.application.instance_id:${server.port}}
client:
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:8661/eureka

3、在启动类添加注解

package com.test.eurekaclientuser;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication
@EnableEurekaClient
public class EurekaClientUserApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaClientUserApplication.class, args);
}
}

4、添加data.sql和schema.sql

#schema.sql文件内容
drop table user if exists ;
create table user (id bigint generated by default as identity ,username varchar(40),name varchar(20),age int(3),balance decimal(10,2),primary key(id)) #data.sql文件内容
insert into user (id,username,name,age,balance) values(1,'user1','zhangsan',20,100.00);
insert into user (id,username,name,age,balance) values(2,'user2','zhangsan',20,100.00);
insert into user (id,username,name,age,balance) values(3,'user3','zhangsan',20,100.00);
insert into user (id,username,name,age,balance) values(4,'user4','zhangsan',20,100.00);
insert into user (id,username,name,age,balance) values(5,'user5','zhangsan',20,100.00);

5、User.java类

package com.test.eurekaclientuser.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
//Jpa的注解配置
@Entity
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler" })
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String name;
@Column
private String username;
@Column
private BigDecimal balance;
@Column
private short age; public Long getId() {
return id;
} public void setId(Long id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public BigDecimal getBalance() {
return balance;
} public void setBalance(BigDecimal balance) {
this.balance = balance;
} public short getAge() {
return age;
} public void setAge(short age) {
this.age = age;
}
}

6、UserRepository.java类

package com.test.eurekaclientuser.repository;

import com.test.eurekaclientuser.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
#继承Jpa的类
public interface UserRepository extends JpaRepository<User,Long> {
}

7、UserController.java类

package com.test.eurekaclientuser.controller;

import com.test.eurekaclientuser.entity.User;
import com.test.eurekaclientuser.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController; @RestController
public class UserController {
@Autowired
private UserRepository userRepository; /* @Autowired
private EurekaClient discoveryClient;*/ @GetMapping("/user/{id}")
public User findById(@PathVariable Long id){
System.out.println(id);
return this.userRepository.getOne(id);
} /* @GetMapping("/eureka/url")
public String serviceUrl() {
InstanceInfo instance = discoveryClient.getNextServerFromEureka("client1", false);
return instance.getHomePageUrl();
}*/
}

8、访问URL

http://localhost:8663/user/1

同时,可以在eureka-server组件上看到注册的信息,即

最新文章

  1. canvas简单处理图片(反色处理)
  2. DHTMLX-Vault
  3. 转 用C API 操作MySQL数据库
  4. 一个奇怪的MySQL错误返回
  5. TImageList 和 TlistView 组件(C++Builder)
  6. Entity Framework 学习初级篇--EntityClient(转)
  7. HDU1671 - Phone List(Trie树)
  8. hdu4738(割桥)
  9. Android 深入解析光传感器(二)
  10. iOS 处理socket粘包问题
  11. bind,apply,call区别总结
  12. 创建Maven web工程不能解析EL表达式的解决办法
  13. python之装饰器初识
  14. php 常用正则
  15. node杂谈(一)
  16. python全栈开发day70-Django中间件
  17. openvpn用户管理、linux客户端配置及企业常用真实案例解析
  18. NEU(Fst Network Embedding Enhancement via High Order Proximity Approximation)
  19. spring整合quartz时间任务调度框架
  20. vue2.0 组件化及组件传值

热门文章

  1. ab测试工具的使用
  2. 配置好ssh互信还需要密码登录
  3. python-迭代器与生成器1
  4. maven中配置jboss仓库
  5. Cuda9.0安装
  6. Python 2中万恶的字符编码
  7. php页面加载完毕后再显示购买按钮
  8. 利用java8新特性,用简洁高效的代码来实现一些数据处理
  9. json代码——json序列化,json-parse,JSONstringify格式化输出,虚拟DOM
  10. JavaScript 输出的四种方法