文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot2 基础案例(01):环境搭建和RestFul风格接口

2023-06-02 14:01

关注

本文源码:GitHub·点这里 || GitEE·点这里

一、SpringBoot 框架的特点

1、SpringBoot2.0 特点

1)SpringBoot继承了Spring优秀的基因,上手难度小
2)简化配置,提供各种默认配置来简化项目配置
3)内嵌式容器简化Web项目,简化编码
Spring Boot 则会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,只需要在 pom 文件中添加如下一个 starter-web 依赖即可.

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>

4)发展趋势看
微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。

二、搭建SpringBoot的环境

1、创建一个Maven项目

SpringBoot2 基础案例(01):环境搭建和RestFul风格接口

2、引入核心依赖

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>

3、编写配置文件

application.yml

# 端口server:  port: 8001

4、启动文件注解

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class HelloApplication {    public static void main(String[] args) {        SpringApplication.run(HelloApplication.class,args) ;    }}

丝毫没有问题,就这样吧启动上面这个类,springboot的基础环境就搭建好了。
想想之前的Spring框架的环境搭建,是不是就是这个感觉:意会一下吧。

三、SpringBoot2.0 几个入门案例

1、创建一个Web接口

import com.boot.hello.entity.ProjectInfo;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HelloController {    @RequestMapping("/getInfo")    public ProjectInfo getInfo (){        ProjectInfo info = new ProjectInfo() ;        info.setTitle("SpringBoot 2.0 基础教程");        info.setDate("2019-06-05");        info.setAuthor("知了一笑");        return info ;    }}

@RestController 注解 等价 @Controller + @ResponseBody 返回Json格式数据。

2、参数映射

1)首先看看SpringBoot 如何区分环境

SpringBoot2 基础案例(01):环境搭建和RestFul风格接口

这里标识配置加载指定的配置文件。

2)参数配置
application-pro.yml

user:  author: 知了一笑  title: SpringBoot 2.0 程序开发  time: 2019-07-05

3)参数内容读取

@Componentpublic class ParamConfig {    @Value("${user.author}")    private String author ;    @Value("${user.title}")    private String title ;    @Value("${user.time}")    private String time ;    // 省略 get 和 set 方法}

4)调用方式

@RestControllerpublic class ParamController {    @Resource    private ParamConfig paramConfig ;    @RequestMapping("/getParam")    public String getParam (){        return "["+paramConfig.getAuthor()+";"+                paramConfig.getTitle()+";"+                paramConfig.getTime()+"]" ;    }}

3、RestFul 风格接口和测试

1)Rest风格接口

@RestController // 等价 @Controller + @ResponseBody 返回Json格式数据@RequestMapping("rest")public class RestApiController {    private static final Logger LOG = LoggerFactory.getLogger(RestApiController.class) ;        @RequestMapping(value = "/insert",method = RequestMethod.POST)    public String insert (UserInfo userInfo){        LOG.info("===>>"+userInfo);        return "success" ;    }        @RequestMapping(value = "/select/{id}",method = RequestMethod.GET)    public String select (@PathVariable Integer id){        LOG.info("===>>"+id);        return "success" ;    }}

2)测试代码

@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest(classes = MockServletContext.class)@WebAppConfigurationpublic class TestRestApi {    private MockMvc mvc;    @Before    public void setUp() throws Exception {        mvc = MockMvcBuilders.standaloneSetup(new RestApiController()).build();    }        @Test    public void testInsert () throws Exception {        RequestBuilder request = null;        request = post("/rest/insert/")                .param("id", "1")                .param("name", "测试大师")                .param("age", "20");        mvc.perform(request)                .andExpect(content().string(equalTo("success")));    }        @Test    public void testSelect () throws Exception {        RequestBuilder request = null;        request = get("/rest/select/1");        mvc.perform(request)                .andExpect(content().string(equalTo("success")));    }}

这样SpringBoot2.0的入门案例就结束了,简单,优雅,有格调。

四、源代码

GitHub·地址https://github.com/cicadasmile/spring-boot-baseGitEE·地址https://gitee.com/cicadasmile/spring-boot-base

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯