博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot,Vue前后端分离开发首秀
阅读量:4103 次
发布时间:2019-05-25

本文共 3965 字,大约阅读时间需要 13 分钟。

每天都会分享Java技术文章,喜欢的关注一下呗!另外文末有彩蛋,不要错过!

需求:读取数据库的数据展现到前端页面

技术栈:后端有主要有SpringBoot,lombok,SpringData JPA,Swagger,跨域,前端有Vue和axios

配置:mysql 8.0.11,IntelliJ IDEA 2017.1.2,HBuilderX 1.9.3

首先创建一个Spring Boot项目,目录结构如下:

在pom.xml中加入如下依赖

 
  
  
org.springframework.boot
  
spring-boot-starter-web
  
  
  
org.springframework.boot
  
spring-boot-devtools
  
runtime
  
  
  
org.projectlombok
  
lombok
  
true
  
  
  
org.springframework.boot
  
spring-boot-starter-test
  
test
  
  
  
  
mysql
  
mysql-connector-java
  
8.0.11
  
  
  
  
org.springframework.boot
  
spring-boot-starter-data-jpa
  
2.1.4.RELEASE
  
  
  
io.springfox
  
springfox-swagger2
  
2.7.0
  
  
  
io.springfox
  
springfox-swagger-ui
  
2.7.0
  
  
 application.properties配置#端口 server.port=8888 #连接数据库的配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.password=Panbing936@ spring.datasource.username=root spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 #SpringData JPA的配置 spring.jpa.hibernate.ddl-auto=update spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect 实体类User.java@Entity @Data public class User{  @Id  @GeneratedValue(strategy = GenerationType.AUTO) private Integer id;  @Column(length = 55) private String name; private String avatarURL; } 接口UserMapper.java继承JpaRepositorypublic interface UserMapper extends JpaRepository
 { } Controller.java@RestController @RequestMapping(value = "/api",produces = APPLICATION_JSON_VALUE) @Api(description = "用户管理") public class UserController {  @Autowired private UserMapper userMapper;  @ApiOperation(value = "用户列表",notes = "查寻所有已注册过的用户信息")  @RequestMapping(value = "getAll",method = RequestMethod.GET) public List
getAll()  { return userMapper.findAll();  } } SwaggerConfig.java@Configuration @EnableSwagger2 public class SwaggerConfig {  @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2)  .apiInfo(apiInfo())  .select()  .apis(RequestHandlerSelectors.basePackage("cn.niit.controller"))  .paths(PathSelectors.any())  .build();  } private ApiInfo apiInfo() { return new ApiInfoBuilder()  .title("Spring Boot中使用Swagger2实现前后端分离开发")  .description("此项目只是练习如何实现前后端分离开发的小Demo")  .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923")  .contact("WEN")  .version("1.0")  .build();  } } WebConfig.java是实现跨域的配置,务必记得@Configuration class WebMvcConfigurer extends WebMvcConfigurerAdapter {  //跨域配置  @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() {  @Override  //重写父类提供的跨域请求处理的接口 public void addCorsMappings(CorsRegistry registry) {  //添加映射路径 registry.addMapping("/**")  //放行哪些原始域  .allowedOrigins("*")  //是否发送Cookie信息  .allowCredentials(true)  //放行哪些原始域(请求方式)  .allowedMethods("GET", "POST", "PUT", "DELETE")  //放行哪些原始域(头部信息)  .allowedHeaders("*")  //暴露哪些头部信息(因为跨域访问默认不能获取全部头部信息)  .exposedHeaders("Header1", "Header2");  }  };  } } 

查看生成的接口文档,测试一下

返回数据没有问题,接着可以根据文档开发前端代码了

用HBuilderX新建一个test.html页面,具体代码如下

     
  Vue.js-访问API接口数据-蓝墨云班课练习  
  
  
    
          
  
  

{

{users.length}}个人在线

  
  

  
  
  
  
  
  
  

{

{user.id}}

  
  
  

{

{user.name}}

  
  
  
  
      

目录结构和运行结果如下

 

完美收官!!!!!!!

彩蛋时间:免费分享Java技术相关资料,需要的朋友可以关注我,在后台私信即可。

来源:知乎

作者:白天不懂夜的黑

原文:https://zhuanlan.zhihu.com/p/74010362

转载地址:http://vdusi.baihongyu.com/

你可能感兴趣的文章
链表各类操作详解
查看>>
C++实现 简单 单链表
查看>>
数据结构之单链表——C++模板类实现
查看>>
Linux的SOCKET编程 简单演示
查看>>
正则匹配函数
查看>>
Linux并发服务器编程之多线程并发服务器
查看>>
聊聊gcc参数中的-I, -L和-l
查看>>
[C++基础]034_C++模板编程里的主版本模板类、全特化、偏特化(C++ Type Traits)
查看>>
C语言内存检测
查看>>
Linux epoll模型
查看>>
Linux select TCP并发服务器与客户端编程
查看>>
Linux系统编程——线程池
查看>>
基于Visual C++2013拆解世界五百强面试题--题5-自己实现strstr
查看>>
Linux 线程信号量同步
查看>>
C++静态成员函数访问非静态成员的几种方法
查看>>
类中的静态成员函数访问非静态成员变量
查看>>
C++学习之普通函数指针与成员函数指针
查看>>
C++的静态成员函数指针
查看>>
Linux系统编程——线程池
查看>>
yfan.qiu linux硬链接与软链接
查看>>