Skip to content

asu126/SpringBootDemo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

spring boot 学习demo

访问路径

spring bean 作用域(Scope)

  • 单例(Singleton): 默认
  • 原型(Prototype): 每次注入或者从应用上下文检索的时候,都会创建新的实例
  • 会话(Session)
  • 请求(Request)
@Bean
@Component
@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class NotePad { ... }

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 添加了一些管理端点

  • GET /autoconfig

bug 记录

    1. org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod 解决办法:https://www.cnblogs.com/hubing/p/6179670.html
    1. 静态资源处理 静态资源的映射路径,优先级顺序为:META-INF/resources > resources > static > public spring boot 框架,默认静态资源目录是 resources/static/; 项目编译后,static/ 目录下的文件会直接放到根目录下,所以在访问静态资源时, / 对应的即为 static/ 目录
    1. caused by: org.springframework.amqp.AmqpIllegalStateException: Fatal exception on listener startup 消息队列不存在,控制台添加消息队列

参考资料

Releases

No releases published

Packages

No packages published