程序员开发实例大全宝库

网站首页 > 编程文章 正文

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

zazugpt 2024-10-24 19:30:09 编程文章 19 ℃ 0 评论

前言:

微服务自问世以来就一直很火。天天耳听Springboot,Springcloud,docker,这些名词,以前没学Springboot的时候刚学ssm的时候,,说实话头都炸了。单独一个个学习Spring,Springmvc,mybatis还能将就配置,记得当初把三个整合的时候可是费了好大的功夫,然后又将ssm转成idea的maven项目又转了一大圈,找了好久,n个bug才把ssm搭成功。 然后学完ssm的配置的时候,发现,哎,我每次都复制黏贴一下好像也挺方便的哎。还要怎么简介呢 然而,当我真正接触springboot的时候,发现,呵呵,我以前真的是无知。

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

Springboot的优点有(来源百科)

  1. 创建独立的Spring应用程序
  2. 嵌入的Tomcat,无需部署WAR文件
  3. 简化Maven配置
  4. 自动配置Spring
  5. 提供生产就绪型功能,如指标,健康检查和外部配置
  6. 绝对没有代码生成并且对XML也没有配置要求 [1]

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

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

  1. 创建Springboot程序
  1. 在这里插入图片描述
  2. 勾上web,如果需要mysql,mybatis或者redis也可以勾上,也可以不勾,反正maven方便。
  1. 在这里插入图片描述
  2. 新建一个controller文件夹,将目录改成类似形式(只有一个主函数,对应路径位置很重要,否则可能会出现访问404)
  1. 在这里插入图片描述
  2. 编写一个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函数即可。看一下测试情况

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

如果对后端、爬虫、数据结构算法等感性趣欢迎关注、转发。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表