优质文章,及时送达

Spring Boot介绍

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。

简单的来说就是,只需几个jar和一些简单的配置,就可以快速开发项目。

假如我就想简单的开发一个对外的接口,那么只需要以下代码就可以了。

一个主程序启动Spring Boot

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

控制层

@RestControllerpublic class HelloWorldController {@RequestMapping("/hello")public String index {return "Hello World";}}

成功启动主程序之后,编写控制层,然后在浏览器输入 http://localhost:8080//hello 便可以查看信息。

感觉使用SpringBoot开发程序是不是非常的简单呢!用SpringBoot实战的话来说:

这里没有配置,没有web.xml,没有构建说明,甚至没有应用服务器,但这就是整个应用程序了。SpringBoot会搞定执行应用程序所需的各种后勤工作,你只要搞定应用程序的代码就好。

基于SpringBoot开发一个Restful服务

一、开发准备

1.1 数据库和表

首先,我们需要在MySql中创建一个数据库和一张表

数据库的名称为 springboot,表名称为t_user

脚本如下:

CREATE DATABASE `springboot`;

USE `springboot`;

DROP TABLE IF EXISTS `t_user`;

CREATE TABLE `t_user` (`id` int(11) NOT AUTO_INCREMENT COMMENT 'id',`name` varchar(10) DEFAULT COMMENT '姓名',`age` int(2) DEFAULT COMMENT '年龄',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;

1.2 maven相关依赖

因为我们使用Maven创建的,所以需要添加SpringBoot的相关架包。

这里Maven的配置如下:

springBoot最核心的jar

spring-boot-starter :核心模块,包括自动配置支持、日志和YAML;

org.springframework.bootspring-boot-starter-parent1.5.9.RELEASE

UTF-81.71.2.05.1.39

org.springframework.bootspring-boot-starter-weborg.springframework.bootspring-boot-starter-thymeleaforg.springframework.bootspring-boot-starter-data-jpaorg.springframework.bootspring-boot-devtoolstrueorg.springframework.bootspring-boot-starter-testtestorg.mybatis.spring.bootmybatis-spring-boot-starter${mybatis-spring-boot}mysqlmysql-connector-java${mysql-connector}

org.springframework.bootspring-boot-maven-plugintrue

二、工程说明

成功创建好数据库以及下载好相应架包之后。我们来正式开发SpringBoot项目。

2.1工程结构图:

首先确定工程结构,这里我就简单的说明下了。

com.pancm.web - Controller 层
com.pancm.dao - 数据操作层 DAO
com.pancm.bean - 实体类
com.pancm.service - 业务逻辑层
Application - 应用启动类
application.properties - 应用配置文件,应用启动会自动读取配置

2.2 自定义配置文件

一般我们需要一些自定义的配置,例如配置jdbc的连接配置,在这里我们可以用 application.properties进行配置。数据源实际的配置以各位的为准。

#spring.datasource.url=jdbc:mysql://localhost:3306/springBoot?useUnicode=true&characterEncoding=utf8spring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver

## 配置为 com.pancm.bean 指向实体类包路径。mybatis.typeAliasesPackage=com.pancm.bean# 配置为 classpath 路径下 mapper 包下,* 代表会扫描所有 xml 文件。mybatis.mapperLocations=classpath:mapper/*.xml

三、代码编写

在创建好相关工程目录之后,我们开始来编写相应的代码。

3.1 实体类编写

由于我们这里只是用于测试,只在数据库中创建了一张t_user表,所以这里我们就只创建一个User实体类,里面的字段对应t_user表的字段。

示例代码如下:

public class User {

private int id;

private String name;

private int age;

public User{}public class User {

private int id;

private String name;

private int age;

public User{}

}

3.2 Dao层编写

在以前的Dao层这块,hibernate和mybatis 都可以使用注解或者使用mapper配置文件。在这里我们使用spring的JPA来完成基本的增删改查。

说明:

一般有两种方式实现与数据库实现CRUD:

第一种是xml的mapper配置。

第二种是使用注解,@Insert、@Select、@Update、@Delete 这些来完成。本篇使用的是第二种。

import org.apache.ibatis.annotations.Delete;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Result;import org.apache.ibatis.annotations.Results;import org.apache.ibatis.annotations.Select;import org.apache.ibatis.annotations.Update;import org.springframework.data.repository.query.Param;import com.pancm.bean.User;

@Mapperpublic interface UserDao {

@Insert("insert into t_user(id,name,age) values (#{id},#{name},#{age})")void addUser(User user);

@Update("update t_user set name=#{name},age=#{age} where id=#{id}")void updateUser(User user);

@Delete("delete from t_user where id=#{id}")void deleteUser(int id);

@Select("SELECT id,name,age FROM t_user where name=#{userName}")User findByName(@Param("userName") String userName);

@Select("SELECT id,name,age FROM t_user")List findAll;}

说明:

  • mapper : 在接口上添加了这个注解表示这个接口是基于注解实现的CRUD。

  • Results: 返回的map结果集,property 表示User类的字段,column 表示对应数据库的字段。

  • Param:sql条件的字段。

  • Insert、Select、Update、Delete:对应数据库的增、查、改、删。

3.3 Service 业务逻辑层

这块和hibernate、mybatis的基本一样。

代码如下:接口

import com.pancm.bean.User;

public interface UserService {

boolean addUser(User user);

boolean updateUser(User user);

boolean deleteUser(int id);

User findUserByName(String userName);

List findAll;}

实现类

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;

import com.pancm.bean.User;import com.pancm.dao.UserDao;import com.pancm.service.UserService;

@Servicepublic class UserServiceImpl implements UserService {@Autowiredprivate UserDao userDao;

@Overridepublic boolean addUser(User user) {boolean flag=false;try{userDao.addUser(user);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}

@Overridepublic boolean updateUser(User user) {boolean flag=false;try{userDao.updateUser(user);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}

@Overridepublic boolean deleteUser(int id) {boolean flag=false;try{userDao.deleteUser(id);flag=true;}catch(Exception e){e.printStackTrace;}return flag;}

@Overridepublic User findUserByName(String userName) {return userDao.findByName(userName);}

@Overridepublic List findAll {return userDao.findAll;}}

3.4 Controller 控制层

控制层这块和springMVC很像,但是相比而言要简洁不少。

说明:

  • RestController:默认类中的方法都会以json的格式返回。

  • RequestMapping: 接口路径配置。

  • method : 请求格式。

  • RequestParam: 请求参数。

具体实现如下:

import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;

import com.pancm.bean.User;import com.pancm.service.UserService;

@RestController@RequestMapping(value = "/api/user")public class UserRestController {@Autowiredprivate UserService userService;

@RequestMapping(value = "/user

boot spring 接口接收数据_基于 Spring Boot 实现 Restful 风格接口,实现增删改查功能...相关推荐

  1. springboot增删改查案例_大神基于SpringBoot开发一个Restful服务,实现增删改查功能...

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  2. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 作者:虚无境 cnblogs.com/xuwujing/p/8260935.html 前言 在去 ...

  3. boot spring 接口接收数据_在 Spring Boot 中使用 Dataway 配置数据查询接口

    Dataway介绍 Dataway 是基于 DataQL 服务聚合能力,为应用提供的一个接口配置工具.使得使用者无需开发任何代码就配置一个满足需求的接口. 整个接口配置.测试.冒烟.发布.一站式都通过 ...

  4. solr系列三:solr和spring整合并实现增删改查功能

    在这篇文章中将通过代码带大家一步步实现spring和solrj的整合,并实现solrj的增删改查功能. 1.solrj的spring配置如下: <beans xmlns="http:/ ...

  5. ext store 数据修改_Go 数据存储篇(一):基于内存存储实现数据增删改查功能...

    在 Web 编程中,经常需要处理用户请求数据,而用户请求数据的处理往往又涉及到数据存储与获取,支持存储数据的媒介很多,包括内存.文件系统.数据库等,接下来,学院君将花几个篇幅的教程来系统介绍 Go W ...

  6. 基于localstorage实现增删改查功能

    本文以英雄联盟英雄列表中英雄的增删改查为例,介绍localstorage的增删改查功能 该图显示了增差功能,由于我将图片和英雄名字设置为相同的,所以这里输入英雄名字(我将其命名为1~100的数字)图片 ...

  7. java部门管理_系统管理模块_部门管理_实现基本的增删改查功能

    系统管理模块_部门管理1_实现基本的增删改查功能 先不考虑上级部门 设计实体.表 1.设计实体 Department.java public classDepartment {privateLong ...

  8. JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能

    JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 JQuery Easyui/TopJUI 用JS创建数据表格并实现增删改查功能 html <table id=&q ...

  9. 保姆级Spring+Mybatis整合的简单增删改查功能实现

    Springboot和Mybatis整合实现增删改查等 0.文章中pageHelper相关的操作是分页查询的东西与本文无关 1.首先创建一个Springboot的项目 1.1Java一般选择的是8,看 ...

最新文章

  1. 扎克伯格、张一鸣、宿华都公开道歉,AI算法不灵了吗?
  2. 美创企推出仅90斤的物流无人车,成本低至5000美元
  3. 终于有人把 5G 和边缘计算的关系说清楚了! | 技术头条
  4. 高性能MySQL(第2版)中文版pdf
  5. [Unity3D]Unity3D圣骑士当游戏开发商遭遇Mecanim动画系统
  6. 添加类库引用后,命名空间出错的解决方案
  7. JMeter压力测试教程(超详细小白版)
  8. Swing数独游戏(二):终盘生成之随机法
  9. android四大组件共性,Android四大组件及意图和意图过滤器
  10. 手机端和PC端开发区别
  11. arduino(16):使用ESP32的SPI接入PS2手柄,修改LIB解决ESP32兼容问题,setup进行while循环验证,直到加载成功,修改别人代码上传到github上。
  12. 3亿流量还能让Keep错几次?
  13. php下载太慢,迅雷下载速度慢的几种解决方法
  14. 淘宝电商评论数据可视化分析系统-电商评论分析系统
  15. 1060显卡支持dx12吗_P106矿卡魔改驱动修改及安装详解(含修改INF文件安装最新驱动,双独立显卡使用等)...
  16. Collectors.toList()的作用
  17. target is not existed: .page-component__scroll .el-scrollbar__wrap
  18. c++中的指数函数怎么写
  19. json转换工具Fastjson
  20. Java,第一次作业——解一元二次方程

热门文章

  1. @getmapping注解的作用_一口气说出6种,@Transactional注解的失效场景
  2. 2.9 迁移学习-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  3. 手机单机游戏合集大概40个G
  4. 【PC工具】在线格式转换工具,视频格式转换,视频转gif工具
  5. Java springcloud B2B2C o2o多用户商城 springcloud架构 (十七)上传文件
  6. 自动化部署shell01
  7. Xamarin只言片语2——Xamarin下的web api操作
  8. Scala学习第五天数组
  9. 一个快速、高效的Levenshtein算法实现
  10. Exchange 数据库邮箱的修复