您当前的位置: 首页 >  spring

SpringBoot2 综合教程案例

蔚1 发布时间:2019-08-28 23:31:01 ,浏览量:2

Spring Boot 2 基础案例篇,主要包含以下内容:

入门、日志管理、定时器、事务、AOP、数据库、缓存、NoSQL、监控、打包

Spring Boot 2 高级案例篇,主要包含以下内容:

整合常用中间件:分库分表、权限管理、Redis 集群、Dubbo、消息队列、定时器、搜索引擎、文件管理、邮件等

SpringBoot 框架的特点 SpringBoot2.0 特点

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

    org.springframework.boot    spring-boot-starter-web

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

搭建 SpringBoot 的环境 创建一个 Maven 项目

在这里插入图片描述

引入核心依赖
    org.springframework.boot    spring-boot-starter-web
编写配置文件

application.yml

# 端口server:  port: 8001
启动文件注解
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 入门案例 创建一个 Web 接口
import com.boot.hello.entity.ProjectInfo;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;/** * SpringBoot 2.0 第一个程序 */@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 格式数据。

参数映射

1)首先看看 SpringBoot 如何区分环境在这里插入图片描述

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

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()+"]" ;    }}
RestFul 风格接口和测试

1)Rest 风格接口

/** * 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-base码云地址:知了一笑https://gitee.com/cicadasmile/spring-boot-base

本文首发于 GitChat,未经授权不得转载,转载需与 GitChat 联系。

阅读全文: http://gitbook.cn/gitchat/activity/5d66746fdf33c629979e7370

您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

FtooAtPSkEJwnW-9xkCLqSTRpBKX

关注
打赏
1688896170
查看更多评论

蔚1

暂无认证

  • 2浏览

    0关注

    4645博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.1152s