标签:ping string span ppi alt 理解 响应 free 管理工具
SpringBoot的产生背景伴随着微服务,微服务的相关概念参考上一篇的博客,分布式架构理论;
微服务的宏观概念理解:
将一个大应用拆分成多个小应用,一个小应用是一个小型的服务,可以通过协议进行互通;
每个小应用是一个可独立替换和独立升级的服务;
下面看SpringBoot的优点:
SpringBoot构建应用构建的分布式简单框架:
使用的编辑工具: Intellij Idea;
项目管理工具Maven:maven的安装和配置以及原理性总结,请参考下一篇文章;
工程结构:
项目遇到的问题:
在我们配置controller层的时候,使用@Controller注解的时候,如下:
使用浏览器进行Request请求的时候,会遇到下面的问题:
问题出现在:
没有使用模版。即@Controller 用来响应页面,@Controller必须配合模版来使用。spring-boot 支持多种模版引擎包括:
1 FreeMarker
2 Groovy
3 Thymeleaf (Spring 官网使用这个)
4 Velocity
5 JSP (貌似Spring Boot官方不推荐,STS创建的项目会在src/main/resources 下有个templates 目录,这里就是让我们放模版文件的,然后并没有生成诸如 SpringMVC 中的webapp目录)
本文以Thymeleaf为例介绍使用模版,具体步骤如下:
在pom.xml文件中添加如下模块依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
因此,我们就直接使用@RestController注解来处理http请求来,这样简单的多。
Spring4之后新加入的注解,原来返回json需要@ResponseBody和@Controller配合。
即@RestController是@ResponseBody和@Controller的组合注解。
@RestController public class HelloController { @RequestMapping(value="/hello",method= RequestMethod.GET) public String sayHello(){ return "hello"; } }
1、application.properties
2、application.yml
YAML的语法:
K:空格v kv键值对 注意不要漏掉空格
以空格的缩进表示层级关系;只要左对齐的一列数据则表示同一个层级;
eg:
serve:
port: 8080
path: hello
字面量(数字,字符串,布尔)
字符串默认不需要加上单引号或者双引号 eg: port: 8080
如果加上双引号则不会转义字符串中的特殊字符
如果加上单引号则会进行特殊字符进行转义;
对象,Map键值对
在下一行写对象的属性和值的关系,需要注意缩进
eg:
friends:
lastName: zhangsan
age: 20
另一种写法:
friends: {lastName: zhangsan, age: 20}
数组(List, Set):
用 -空格 表示数组中的一个元素:
eg:
pets:
- cat
- dog
行内写法:
pets: [cat, dog]
代码举例:
在Person类上加上ConfigurationProperties 注解;与配置文件信息进行绑定
使用properties的方式:
标签:ping string span ppi alt 理解 响应 free 管理工具
原文地址:https://www.cnblogs.com/gxyandwmm/p/9703999.html