🌟🌟🌟
《springBoot实战派》这本书本使用,所有springboot相关的更能基础知识问题都可以翻翻这本书的目录,然后再看是否能够解决的;暂时来看的话,很不错(2021年11月17日)
《spring Boot 实战派》 这本书在阿里云盘上有;
- 5.6章节,验证数据章节很好;尤其是自定义验证功能,可以添加自定义的验证注解,可用性挺高的
- 4.2.3章节,springboot常用注解也值得翻一翻
- 自定义的Strarter是不能有启动入口的,即:它只能作为工具类;所以,不要把自定义的pom.xml写成一个可启动的项目(即:不写build模块)
7.7章节的单元测试,很有意思,尤其是断言这里讲了一些关乎hamcrest的断言方式;
使用过Junit 的应该有过体验:在实际开发中,一些基本的断言,如eqaul,null,true它们的可读性并不是很好。而且很多时候我们要比较对象、集合、Map等数据结构。这样我们要么进行大段的字段获取再断言。或者干脆自己编写表达式并断言其结果。 JUnit4.4引入了Hamcrest框架,Hamcest提供了一套匹配符Matcher,这些匹配符更接近自然语言,可读性高,更加灵活。
Hamcrest 提供了大量被称为“匹配器”的方法。其中每个匹配器都设计用于执行特定的比较操作。Hamcrest的可扩展性很好,让你能够创建自定义的匹配器。最重要的是,JUnit也包含了Hamcrest的核心,提供了对Hamcrest的原生支持,可以直接使用Hamcrest。当然要使用功能齐备的Hamcrest,还是要引入对它的依赖。 《springboot实战派》 7.7.2章节对hamcrest的assertThat有很多示例,很不错!
@SpringBootTest :是springboot 用于测试的注解,可指定入口类或测试环境
- @RunWith(SpringRunner.class): 让测试运行于spring的测试环境
- springboot的测试类上,添加@transactional 就能在测试完成之后,自动的执行回归了,方式一大堆错误数据的产生;如果加上@rollback(false)就能不回滚了;这个可以加在类上,也可以加在方法上;具体的到时候试试;
- jpa可以尝试多了解一下;
- 9.2章节,设计统一的Restful风格的数据接口;
9.5章,restTemplate示例
用postForEntity 、postForObject 、postForLocation 三种方法传递参数时,Map 不能被定义为HashMap 、LinkedHashMap ,而应被定义为LinkedMultiValueMap,这样参数才能成功传递到后台 ```java restTemplate 发送post请求 方式1 使用 postForEntity postForEntity(String url, Object request, Class response Type, Object. urlVariables postFor Entity( String url, Object request, Class response Type, Map urlVariables) postForEntity (String url, Object request, Class response Type
方法一的 第 l 个参数表示要调用的服务的地址 。 第 2 个参数表示上传的参数。 第 3 个参数表示返回的消息体的数据类型 。
方式2:使用 postForobject postForobject( String url, Object request, Class response Type, Object. urlVariables) postForObject(String url, Object request, Class response Type, Map urlvariables postForObject(String url, Object request, Class response Type
``` 11 springboot封装了redis下使用分布式session的功能;导入依赖,并开启功能后;直接就在能用了; 《springboot实战派》 §11.7.1有讲解