springboot入门demo详解(解决跨域)

简介: 微服务自问世以来就一直很火。天天耳听Springboot,Springcloud,docker,这些名词,以前没学Springboot的时候刚学ssm的时候,,说实话头都炸了。单独一个个学习Spring,Springmvc,mybatis还能将就配置,记得当初把三个整合的时候可是费了好大的功夫,然后又将ssm转成idea的maven项目又转了一大圈,找了好久,n个bug才把ssm搭成功。

前言:



微服务自问世以来就一直很火。天天耳听Springboot,Springcloud,docker,这些名词,以前没学Springboot的时候刚学ssm的时候,,说实话头都炸了。单独一个个学习Spring,Springmvc,mybatis还能将就配置,记得当初把三个整合的时候可是费了好大的功夫,然后又将ssm转成idea的maven项目又转了一大圈,找了好久,n个bug才把ssm搭成功。


然后学完ssm的配置的时候,发现,哎,我每次都复制黏贴一下好像也挺方便的哎。还要怎么简介呢


然而,当我真正接触springboot的时候,发现,呵呵,我以前真的是无知。


Springboot本质也是Spring程序,他有Springmvc和Spring的功能。但是传统的项目就是配置地狱,需要各种整合,而Springboot将各个地方的整合变得简单了很多或者省去了一些配置。


Springboot的优点有(来源百科)


创建独立的Spring应用程序

嵌入的Tomcat,无需部署WAR文件

简化Maven配置

自动配置Spring

提供生产就绪型功能,如指标,健康检查和外部配置

绝对没有代码生成并且对XML也没有配置要求 [1]

Springboot跟普通框架的不同之处就是他将web程序打包成jar文件,内置tomcat。也省区tomcat的配置,只需要Springboot里面声明一些端口,url即可。


下面就记录创建第一个Springboot功能。



1.创建Springboot程序


20181207155928115.png


2.勾上web,如果需要mysql,mybatis或者redis也可以勾上,也可以不勾,反正maven方便。


20181207160418420.png


3.新建一个controller文件夹,将目录改成类似形式(只有一个主函数,对应路径位置很重要,否则可能会出现访问404)


20181207160539618.png


4.编写一个controller,你如果是使用前后端分离直接加上@responsebody注解就可以,不需要去找jackson那几个包,springboot已经帮你搞好了,满足你的正常需求。controller的代码:


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class testcontroller {
 @GetMapping("demo1")
 public String demo1() {
 return "Hello bigsai";
 }
 @RequestMapping("demo2")
 @ResponseBody
 public Map demo2()
 {
 Map map=new HashMap();
 map.put(1,"fads");
 map.put("55","55");
 return map;
 }
}


直接启动主main函数即可。看一下测试情况


20181207161629467.png


这是最初始化的Springboot访问url,如果你想指定端口,指定path,可以在resources里面的appilication.properties中配置(有的是im啥)如下


20181207162116457.png


这样就可以,更多配置就先不介绍了。


20181207162218389.png


当然如果你前后端分离,可能会遇到跨域问题。只需加个配置类即可:


20190702110355779.png


import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class WebMvcConfiguration implements WebMvcConfigurer {
 @Bean
 public CorsFilter corsFilter() {
 final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();
 final CorsConfiguration corsConfiguration = new CorsConfiguration();
 /*是否允许请求带有验证信息*/
 corsConfiguration.setAllowCredentials(true);
 /*允许访问的客户端域名*/
 corsConfiguration.addAllowedOrigin("*");
 /*允许服务端访问的客户端请求头*/
 corsConfiguration.addAllowedHeader("*");
 /*允许访问的方法名,GET POST等*/
 corsConfiguration.addAllowedMethod("*");
 urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);
 return new CorsFilter(urlBasedCorsConfigurationSource);
 }
}


github源码地址:https://github.com/javasmall/SpringbootDemo/tree/master/springboot_firstdemo


目录
相关文章
|
1月前
|
人工智能 JSON 前端开发
Spring Boot解决跨域问题方法汇总
Spring Boot解决跨域问题方法汇总
|
1月前
|
Java
springboot+cors跨域处理
springboot+cors跨域处理
30 0
|
1月前
|
Java
Springboot文件下载跨域问题解决方案
Springboot文件下载跨域问题解决方案
|
6天前
|
前端开发 安全 JavaScript
Spring Boot2 系列教程(十四)CORS 解决跨域问题
Spring Boot2 系列教程(十四)CORS 解决跨域问题
|
2天前
|
Java 关系型数据库 MySQL
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
Mybatis入门之在基于Springboot的框架下拿到MySQL中数据
12 4
|
2天前
|
Java 应用服务中间件 Maven
Springboot入门基础知识详解 parent starter 引导类 辅助功能
Springboot入门基础知识详解 parent starter 引导类 辅助功能
9 2
|
2天前
|
Java 程序员
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
浅浅纪念花一个月完成Springboot+Mybatis+Springmvc+Vue2+elementUI的前后端交互入门项目
15 1
|
1月前
|
JSON 安全 前端开发
跨域详解及Spring Boot 3中的跨域解决方案
本文介绍了Web开发中的跨域问题,包括概念、原因、影响以及在Spring Boot 3中的解决方案。跨域是由浏览器的同源策略限制引起的,阻碍了不同源之间的数据传输。解决方法包括CORS、JSONP和代理服务器。在Spring Boot 3中,可以通过配置CorsFilter来允许跨域请求,实现前后端分离项目的正常运行。
74 3
 跨域详解及Spring Boot 3中的跨域解决方案
1天搞定SpringBoot+Vue全栈开发 (9)JWT跨域认证
1天搞定SpringBoot+Vue全栈开发 (9)JWT跨域认证
|
1月前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
179 6