Spring Boot 基础知识汇总

  • @Configuration //表示这个一个配置类,相当于spring的xml 文件

  • 在@Configuration加上@Bean去注册一个bean 对象,这样我们就不用再去写xml文件去注册bean对象。@Bean标注在方法上(返回某个实例的方法)。

  • @AutoWired是获取bean的基本方法

  • oauth负责多后台统一登录认证,shiro负责给登录用户赋予不同的访问权限。

  • 跨域问题一般前端的解决方案有:

    • 使用 JSONP 来支持跨域的请求,JSONP 实现跨域请求的原理简单的说,就是动态创建<script>标签,然后利用<script>的 SRC 不受同源策略约束来跨域获取数据。缺点是需要后端配合输出特定的返回信息。

    • 利用反应代理的机制来解决跨域的问题,前端请求的时候先将请求发送到同源地址的后端,通过后端请求转发来避免跨域的访问。

    • 后来 HTML5 支持了 CORS 协议。CORS 是一个 W3C 标准,全称是”跨域资源共享”(Cross-origin resource sharing),允许浏览器向跨源服务器,发出 XMLHttpRequest 请求,从而克服了 AJAX 只能同源使用的限制。它通过服务器增加一个特殊的 Header[Access-Control-Allow-Origin]来告诉客户端跨域的限制,如果浏览器支持 CORS、并且判断 Origin 通过的话,就会允许 XMLHttpRequest 发起跨域请求。前端使用了 CORS 协议,就需要后端设置支持非同源的请求,Spring Boot 设置支持非同源的请求有两种方式。

  • 路由1

@RestController -> @RequestMapping("/book") -> @PostMapping(“add”) / @GetMaping(“getById”)
这种url地址到方法的映射, 就是一种路由关系。 通过注解,将url地址路由到方法上。

@RestController
@RequestMapping("/book")
public class BookController {

    @PostMapping("add")
    public JsonResponse<Integer> add(@Valid @RequestBody Book book, BindingResult errors){
        //1. 对 item  数据进行验证
        StringBuffer sb = new StringBuffer();
        if (errors.hasErrors()) {
            for (ObjectError objectError : errors.getAllErrors()) {
                sb.append(objectError.getDefaultMessage());
            }
        }
        if (sb.length() > 0) {
            return JsonResponse.error(sb.toString());
        }
        int id = BookDB.add(book);
        return JsonResponse.success(id);
    }

    @GetMapping("getById")
    public JsonResponse<Book> getById(@RequestParam("id") Integer id){
        Book book = BookDB.getById(id);
        return JsonResponse.success(book);
    }

    @GetMapping("getAll")
    public JsonResponse<List<Book>> getAll(){
        List<Book> list = BookDB.getAll();
        return JsonResponse.success(list);
    }
}

  1. https://www.cnblogs.com/elvinle/p/12335076.html ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值