Node.js 创建一个简单的服务实现反向代理
创建一个Node.js项目打开文件管理器,在你想要的索引位置上新建一个文件夹,文件夹的名称即是项目名 用Visual Studio Code打开这个文件夹,并在终端执行 1npm init 没有特定要求一直回车即可,也可参考其他Node.js项目教程 安装所需依赖安装http-proxy-middleware 1npm install http-proxy-middleware 导入代码 新建一个index.js,为主要执行程序 新建一个api文件夹,并在api文件下新建module.js。用于不走代理时执行自定义代码 index.js 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495const http =...
Spring Security Oauth2.1基本整合配置
依赖只需要下面的这一个依赖,springboot 版本为 3.3 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-oauth2-authorization-server</artifactId></dependency> 授权服务AuthorizationServerConfig配置spring 官方在快速开始里面给出了下面的默认最小配置Spring Authorization...
RequestParam,PathParam,PathVariable等注解区别
@RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充 @RequestParam看下面一段代码: 1http://localhost:8080/springmvc/hello/101?param1=10¶m2=20 根据上面的这个URL,你可以用这样的方式来进行获取 12345public String getDetails( @RequestParam(value="param1", required=true) String param1, @RequestParam(value="param2", required=false) String param2){...} @RequestParam 支持下面四种参数 defaultValue...
Spring Boot项目全局异常处理方式
SpringBoot中,@ControllerAdvice 即可开启全局异常处理,使用该注解表示开启了全局异常的捕获,我们只需在自定义一个方法使用@ExceptionHandler注解然后定义捕获异常的类型即可对这些捕获的异常进行统一的处理。 添加@ControllerAdvice自定义全局异常处理器12345678910111213141516@RestControllerAdvicepublic class GlobalExceptionHandler { //默认全局异常处理 @ExceptionHandler(Exception.class) @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) public ResultData<String> exception(Exception e){ return ResultData.fail(ReturnCode.RC500.getCode(), e.getMessage()); } ...
springboot项目使用advice做统一返回处理
ResponseBodyAdvice接口12345678910public interface ResponseBodyAdvice<T> { // 是否支持advice功能 // true 支持,false 不支持 boolean supports(MethodParameter returnType, Class<? extends HttpMessageConverter<?>> converterType); // 对返回数据进行处理 @Nullable T beforeBodyWrite(@Nullable T body, MethodParameter returnType, MediaType selectedContentType, Class<? extends HttpMessageConverter<?>> selectedConverterType, ServerHttpRequest request, ServerHttpResponse...
Spring-Boot属性绑定
@PropertySourece()my.properties 1name=kil UserService.java 添加@PropertySource(“my.properties”)指定配置文件 引用@Value(“${name}”) 1234567891011121314151617181920212223package cn.kil.springboot_parameter.service;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Service;/** * @program: springboot_parameter * @ClassName: UserService * @description: * @author: toy * @create: 2022-07-20 19:51 */@Service@PropertySource("my.properties")public class...
Spring-Boot整合mybatis步骤
添加数据库以及mybatis maven依赖jdbc:mybatis包含了spring-boot-starter-jdbc可以不用添加 123456789101112<!-- mybatis --><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.2.2</version></dependency><!-- mysql --><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency> 编写mapper接口和相应的mapper...
JAVA之自动装配
级联属性赋值 在的子元素中,为它所依赖的Bean的属性进行赋值,这就是所谓的”级联属性赋值”。 使用级联属性赋值注意事项: java类中必须有setter方法 java类中必须有无参构造器(默认存在) 依赖其他Bean的类中,必须提供一个它依赖的Bean的getXxx()方法 Spring在Bean与Bean之间建立依赖关系的行为成为装配。Spring的IOC容器虽然强大,但本身不过是一个空壳,需要主动将Bean放进去,并告诉它Bean和Bean之间的依赖关系,才能按照我们的要求完成装配工作。 spring通过注解实现自动装配的步骤如下: 1.引入依赖 2.开启组件扫描 Spring默认不使用注解装配Bean。因此在Spring XML配置中,通过元素开启Spring Beans的自动扫描功能,即在类上使用了@Component注解,就将该类装配到容器中。 123456789101112<?xml version="1.0" encoding="UTF-8"?><beans...
SSM配置MyBatis步骤
1.添加所需maven依赖maven仓库:https://mvnrepository.com/ 123456789101112131415161718<!--Mybatis--><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.9</version></dependency><dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId> <version>2.0.7</version></dependency><!--数据库驱动--><dependency> ...




