无需破解版创建Idea+Gradle+SpringBoot

我们知道Ultimate的Idea可以用图形界面下直接创建SpringBoot项目,而社区版的则不提供。本文用最简洁的方式说明使用社区版的Idea创建Gradel + SpringBoot项目,并编写MVC和调试的完整过程。

编码

创建项目

利用https://start.spring.io/ 创建Spring BootGradle项目:

 

点击【Generate Project】下载RestfulApi.zip并解压到空目录E:\TQ\svn\ui\private\gophern\study\StudyInIdea\RestfulApi

 

在Idea中导入项目,Import Project >> Create project from existing sources

E:\TQ\svn\ui\private\gophern\study\StudyInIdea\RestfulApi\RestfulApi

为了连接本机的MongoDB服务,编辑src/resources/application.properties,加入以下内容:

spring.data.mongodb.database=springmongodb

spring.data.mongodb.host=localhost

spring.data.mongodb.port=27017


创建模型或者实体类

项目右键 >> New >> Java Class 类:gophern.study.springboot.model.Product

package gophern.study.springboot.model;

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "products")
public class Product {
  
@Id
  
String id;
  
String prodName;
  
String prodDesc;
  
Double prodPrice;
  
String prodImage;

  
public Product() {
  
}

   public Product(String prodName, String prodDesc, Double prodPrice, String prodImage) {
     
this.prodName = prodName;
     
this.prodDesc = prodDesc;
     
this.prodPrice = prodPrice;
     
this.prodImage = prodImage;
  
}

   public String getId() {
     
return id;
  
}

   public void setId(String id) {
     
this.id = id;
  
}

   public String getProdName() {
     
return prodName;
  
}

   public void setProdName(String prodName) {
     
this.prodName = prodName;
  
}

   public String getProdDesc() {
     
return prodDesc;
  
}

   public void setProdDesc(String prodDesc) {
     
this.prodDesc = prodDesc;
  
}

   public Double getProdPrice() {
     
return prodPrice;
  
}

   public void setProdPrice(Double prodPrice) {
     
this.prodPrice = prodPrice;
  
}

   public String getProdImage() {
     
return prodImage;
  
}

   public void setProdImage(String prodImage) {
     
this.prodImage = prodImage;
  
}
}

 

创建对象模型的操作接口

package gophern.study.springboot.repository;

import gophern.study.springboot.model.Product;
import org.springframework.data.repository.CrudRepository;

import java.util.Optional;

public interface ProductRepository extends CrudRepository<Product, String> {
  
@Override
  
Optional<Product> findById(String id);

  
@Override
  
void delete(Product deleted);
}

 

创建控制器

新建类:gophern.study.springboot.controller.ProductController

启动

有2种方式启动Spring Boot MongoDB RESTful网站

l  方式1、运行RestfulApiApplication类

l  方式2、在控制台下执行

gradlew bootRun

测试

新增资料

curl -i -X POST -H "Content-Type: application/json" -d '{"prodName":"产品1 ","prodDesc":"产品1描述","prodPrice":100,"prodImage":"https://www.oschina.net/build/oschina/components/imgs/oschina.svg?t=1484580008000"}' http://localhost:8080/products

curl -i -X POST -H "Content-Type: application/json" -d '{"prodName":"产品2 ","prodDesc":"产品2描述","prodPrice":100,"prodImage":"https://www.oschina.net/build/oschina/components/imgs/oschina.svg?t=1484580008000"}' http://localhost:8080/products

查询产品列表

curl -i -H "Accept: application/json" localhost:8080/products

HTTP/1.1 200

Content-Type: application/json;charset=UTF-8

Transfer-Encoding: chunked

Date: Fri, 06 Apr 2018 16:24:07 GMT

 

数据格式整理如下:

[

  {

    "id": "5ac81809bd8cd1328099c087",

    "prodName": "产品1 ",

    "prodDesc": "产品1描述",

    "prodPrice": 100,

    "prodImage": "https://www.oschina.net/build/oschina/components/imgs/oschina.svg?t=1484580008000"

  },

  {

    "id": "5ac81819bd8cd1328099c088",

    "prodName": "产品2 ",

    "prodDesc": "产品2描述",

    "prodPrice": 100,

    "prodImage": "https://www.oschina.net/build/oschina/components/imgs/oschina.svg?t=1484580008000"

  }

]

获取单个产品

curl -i -H "Accept:application/json" localhost:8080/products/5ac7453bbd8cd1328099c085

修改资料

curl -i -X PUT -H "Content-Type:application/json" -d '{"prodPrice":220}' localhost:8080/products/5ac81819bd8cd1328099c088

可以看到价格由100变成了220。

删除

curl -i -X DELETE localhost:8080/products/5ac81819bd8cd1328099c088

附代码

代码下载

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值