内容简介:1)SpringBoot继承了Spring优秀的基因,上手难度小2)简化配置,提供各种默认配置来简化项目配置3)内嵌式容器简化Web项目,简化编码 Spring Boot 则会帮助开发着快速启动一个 web 容器,在 Spring Boot 中,只需要在 pom 文件中添加如下一个 starter-web 依赖即可.
本文源码 GitHub:知了一笑 https://github.com/cicadasmile/spring-boot-base 复制代码
一、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/middle-ware-parent 码云地址:知了一笑 https://gitee.com/cicadasmile/middle-ware-parent 复制代码
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- yapi搭建接口管理平台
- hapi框架搭建记录(二):路由改造和生成接口文档
- 用 Go 开发接口服务--环境搭建和开发工具选择
- [译] 化 Markdown 为 HTML:用 Node.js 和 Express 搭建接口
- vue全家桶+Echarts+百度地图,搭建数据可视化系统(【续】接口篇)
- 接口测试及常用接口测试工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
法律程序的意义:对中国法制建设的另一种思考
季卫东 / 中国法制出版社 / 2005-1 / 10.0
《法律程序的意义:对中国法制建设的另一种思考》内容为现代程序的概念与特征、现代程序的结构与功能、程序与现代社会、中国法律程序的缺陷、程序建设的程序等。一起来看看 《法律程序的意义:对中国法制建设的另一种思考》 这本书的介绍吧!