第一章 Spring Cloud 服务提供者

来源:互联网 发布:仿淘宝app模板 编辑:程序博客网 时间:2024/06/06 01:22

第一章 Spring Cloud 创建流程如下:

创建一个服务提供者

1、首先电脑上已经安装的maven和在Eclipse中安装SpringBoot插件的同学们

1、1 打开eclipse ,右键鼠标,选择other,然后搜索Spring,选择Spring Start  Project即可

第二步:点击Next下一步,选择Web和SQL选择JPA中的 即可,下面直接点Finish




UserController类

package com.example.demo.controller;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;import com.example.demo.entity.User;import com.example.demo.repository.UserRepository;@RestControllerpublic class UserController {  @Autowired  private UserRepository userRepository;  @GetMapping("/user/{id}")  public User findById(@PathVariable Long id) {    return this.userRepository.findOne(id);  }}


User类

package com.example.demo.entity;import java.math.BigDecimal;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;@Entitypublic class User {  @Id  @GeneratedValue(strategy = GenerationType.AUTO)  private Long id;  @Column  private String username;  @Column  private String name;  @Column  private Short age;  @Column  private BigDecimal balance;  public Long getId() {    return this.id;  }  public void setId(Long id) {    this.id = id;  }  public String getUsername() {    return this.username;  }  public void setUsername(String username) {    this.username = username;  }  public String getName() {    return this.name;  }  public void setName(String name) {    this.name = name;  }  public Short getAge() {    return this.age;  }  public void setAge(Short age) {    this.age = age;  }  public BigDecimal getBalance() {    return this.balance;  }  public void setBalance(BigDecimal balance) {    this.balance = balance;  }}


UserRepository JPA接口类

package com.example.demo.repository;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;import com.example.demo.entity.User;@Repositorypublic interface UserRepository extends JpaRepository<User, Long> {}

SpringcloudUserApplication这个类要在上面几个类的父级包中

package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class SpringcloudUserApplication {public static void main(String[] args) {SpringApplication.run(SpringcloudUserApplication.class, args);}}
application.yml配置
server:  port: 7900 #此处表示端口号spring:  jpa:    generate-ddl: false  #此处表示是否创建ddl语句    show-sql: true #此处表示是否打印SQL语句    hibernate:      ddl-auto: none  #此处表示因为JPA依赖于Hibernate,故要配置hibernate,是否自动创建ddl语句 ,none表示否  datasource:    platform: h2 #此处使用的是H2数据库    schema: classpath:schema.sql  #此表示创建的SQL语句路径,到时候自动加载的    data: classpath:data.sql #此表示创建的SQL语句插入信息logging:  level: #日志级别    root: INFO    org.hibernate: INFO    org.hibernate.type.descriptor.sql.BasicBinder: TRACE #此处表示是否打印SQL语句以及参数    org.hibernate.type.descriptor.sql.BasicExtractor: TRACE #此处表示是否打印SQL语句以及参数    com.example: DEBUG  #此处表示的是所在包名的类的日志打印级别

data.sql

insert into user(id,username, name, age, balance) values(1,'user1', '张三', 20, 100.00);insert into user(id,username, name, age, balance) values(2,'user2', '李四', 20, 100.00);insert into user(id,username, name, age, balance) values(3,'user3', '王五', 20, 100.00);insert into user(id,username, name, age, balance) values(4,'user4', '马六', 20, 100.00);

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));

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>


<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>


<name>Springcloud-user</name>
<description>Springcloud-user</description>


<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.1.RELEASE</version>
<relativePath/>
</parent>


<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.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>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>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-solr</artifactId>
</dependency>

<!-- 热部署 -->

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>


<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>


</project>


启动本地浏览器,效果如下:



补充:添加热部署的快捷方式,热部署可以让修改的代码无需再次启动程序

项目右键如下图所示: