spring boot 学习demo
访问路径
spring bean 作用域(Scope)
REST API
- REST 方法: GET,PUT,DELETE,POST
- @RequestParam 获得参数
- @RequestBody 替换基于视图的渲染方式
- @RequestBody 将来自客户端的资源表述转换为对象
- ResponseEntity
- 异常处理:404等
- Configure CSRF Protection
跨域参考
远程服务
- RMI, Hessian, Buarlap, HttpInvoker
GET、POST方式提时, 根据request header Content-Type的值来判断:
- application/x-www-form-urlencoded, 可选(即非必须,因为这种情况的数据@RequestParam, @ModelAttribute也可以处理,当然@RequestBody也能处理);
- multipart/form-data, 不能处理(即使用@RequestBody不能处理这种格式的数据);
- 其他格式, 必须(其他格式包括application/json, application/xml等。这些格式的数据,必须使用@RequestBody来处理);
- 参考链接
Spring 消息
数据库访问技术总结
- JDBC
- ORM(object-relational mapping): 对象关系映射,eg:Hibernate
- JPA: java 持久化api
doamin: 定义model(实体对象),dao/Repository定义数据库访问借口,dao.impl/ Jdbc*Repository定义借口
具体实现。
易于测试(不与数据访问绑定在一起,使用mock实现);与持久化技术无关。
spring-boot-starter-actuator
为 spring boot 添加了一些管理端点
bug 记录
-
org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod
解决办法:https://www.cnblogs.com/hubing/p/6179670.html
-
- 静态资源处理
静态资源的映射路径,优先级顺序为:META-INF/resources > resources > static > public
spring boot 框架,默认静态资源目录是 resources/static/;
项目编译后,static/ 目录下的文件会直接放到根目录下,所以在访问静态资源时, / 对应的即为 static/ 目录
-
- caused by: org.springframework.amqp.AmqpIllegalStateException: Fatal exception on listener startup
消息队列不存在,控制台添加消息队列
参考资料