SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
一、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项目
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; @SpringBootApplication public 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; /** * SpringBoot 2.0 第一个程序 */ @RestController public 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 如何区分环境
这里标识配置加载指定的配置文件。
2)参数配置
application-pro.yml
user: author: 知了一笑 title: SpringBoot 2.0 程序开发 time: 2019-07-05
3)参数内容读取
@Component public class ParamConfig { @Value("${user.author}") private String author ; @Value("${user.title}") private String title ; @Value("${user.time}") private String time ; // 省略 get 和 set 方法 }
4)调用方式
/** * 环境配置,参数绑定 */ @RestController public class ParamController { @Resource private ParamConfig paramConfig ; @RequestMapping("/getParam") public String getParam (){ return "["+paramConfig.getAuthor()+";"+ paramConfig.getTitle()+";"+ paramConfig.getTime()+"]" ; } }
3、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) @WebAppConfiguration public 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 码云地址:知了一笑 https://gitee.com/cicadasmile
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python 四大主流 Web 编程框架
Python 四大主流 Web 编程框架目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实。但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Python网络框架:Django、Tornado、Flask、Twisted。 网络框架及MVC架构所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议、线程、进程等方面。这样能大大提高开发者的工作效率,同时提高网络应用程序的质量。 在目前Python语言的几十个开发框架中,几乎所有的全栈网络框架都强制或引导开发者使用MVC架构开发Web应用。所谓全栈网络框架,是指除了封装网络和线程操作,还提供HTTP栈、数据库读写管理、HTML模板引擎等一系列功能的网络框架。本文重点讲解的Django、Tornado和Flask是全栈网络框架的典型标杆;而Twisted更专注于网络底层的高性能封装而不提供HTML模板引擎等界面功能,所以不能称之为全栈框架。 MVC(Model-View-Controller)模...
- 下一篇
java集合类总结
Java集合概述 Java提供的众多集合类由两大接口衍生而来: Collection 接口和 Map 接口。为了更好的把握Java集合类的整体结构,我这里先贴一个Java集合的整体类图,以便大家对Java集合类有一个整体的印象。 Java集合类总结乍一看这个图很复杂,其实我们仔细梳理一下,这个图还是非常清晰的。可以这么看,在Java的集合类中,主要分为 List 、 Map 、 Set 和 Queue 这四大类,这四大接口类下面,又根据使用场景分为多个具体的子类。下面就一一进行总结。 Collection接口说明 从类图上可以看到, Collection 接口作为一个非常重要的基础接口,所以我们有必要对 Collection 接口中的常用方法进行一下说明和总结: add :向集合中添加单个元素addAll :向集合中批量添加元素clear :删除集合中所有元素contains :判断集合是否包含某个元素isEmpty :判断集合是否为空iterator :返回一个集合迭代器;remove :从集合中删除单个元素removeAll :从集合中批量删除元素retainAll :保留指定入参...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker快速安装Oracle11G,搭建oracle11g学习环境