随笔分类 - 后端
数据导入,绝对的干活
摘要:有很多项目都存在数据导入的情况,我们项目其中一个数据导入是门店信息导入,大家可以借鉴参考一下 1.得有一张记录文件导入信息的表,首先是重点几个字段,文件的id,文件的类型,文件的状态,这三点是最关键的(其实应该还有一个文件存放的路径,但我们项目里是采取拼接的方法将其更新到主键),还有其他几个字段,文
阅读全文
对于第三方接口调用的模板
摘要:1.需要一个基础的Controller,用于读取配置文件里面的信息,比如第三方地址等,还有生成一个HttpPost,用于调用 public class BaseController { /* * appId(对应第三方系统的appId) */ @Value(otherSystem.appId) pr
阅读全文
关于自己平台事务回滚而第三方平台不能回滚的处理问题
摘要:有这么一个场景,我们平台创建了一个活动,需要发布,发布的时候需要去调用第三方的活动增加接口,才能把我们的活动信息保存到第三方那边,但是在调用活动增加接口之前还需要创建一个活动组接口,也是调用第三方的活动组创建接口,正常流程是第一步活动组创建接口,第二步将活动组id封装到活动信息里面,然后调用活动增加
阅读全文
反射的有关用法
摘要:package fanshe; public class Fanshe { public static void main(String[] args) { //第一种方式获取Class对象 Student stu1 = new Student();//这一new 产生一个Student对象,一个C
阅读全文
spring中的bean对象的有关了解
摘要:@Configuration public class AppConfig { @Bean public MyBean getMyBean() { MyBean myBean = new MyBean(); myBean.setName("Example"); return myBean; } //
阅读全文
拦截器的配置以及执行顺序
摘要:在Spring Boot中,拦截器的执行顺序可以通过InterceptorRegistry对象的addInterceptor()方法按照添加的顺序进行配置。 默认情况下,拦截器的执行顺序是按照它们添加到拦截器注册表中的顺序执行的。也就是说,先添加的拦截器会先执行,后添加的拦截器会后执行 import
阅读全文
Spring boot中拦截器的简单使用
摘要:1.创建自定义拦截器类:首先,你需要创建一个自定义的拦截器类,该类需要实现HandlerInterceptor接口。例如,你可以创建一个名为CustomInterceptor的类。 import org.springframework.web.servlet.HandlerInterceptor;
阅读全文
redis,mongo,mysql,es区别
摘要:Redis、MongoDB、MySQL和Elasticsearch(ES)都是常用的数据库系统,各有不同的特点和适用场景,具体区别如下: Redis:Redis是一种高性能键值存储数据库,基于内存操作,支持数据持久化,支持数据类型丰富灵活,如字符串、哈希、列表、集合、有序集合等。Redis还提供了订
阅读全文
HandlerInterceptorAdapter和HandlerInterceptor的区别
摘要:其实归根揭底一个是抽象类,一个是接口,HandlerInterceptor是接口,它提供了所有方法,让开发人员必须实现所有方法, 而HandlerInterceptorAdapter是一个抽象类,它提供了所有方法的默认实现,让开发人员可以只覆盖需要对应的方法,从而简化代码。
阅读全文
nginx
摘要:Nginx是一种高性能的Web服务器软件,它可以作为反向代理服务器、负载均衡器、HTTP缓存、静态资源服务器等用途。Nginx的主要作用包括: 静态资源服务器:Nginx支持快速、高效地响应静态文件的请求,包括HTML页面、CSS文件、图片等。它可以快速地将静态资源缓存起来,提高Web应用的访问速度
阅读全文
Mybatis-Plus框架的BaseMapper的insert方法和自定义mapper里面的insert方法会用哪个
摘要:在Mybatis-Plus框架中,当一个接口继承了BaseMapper接口,并且绑定了一个xml文件时,如果这个接口和xml文件中都定义了相同的方法,那么在调用该方法时,会优先调用xml文件中的方法,而不是BaseMapper中的方法。因此,在你的情况下,如果A接口和xml文件中都定义了insert
阅读全文
关于菜单-角色-用户那点事
摘要:1.菜单,一般菜单都会有好几级,通常每一级都基本上不会超过10,在菜单表里面我们可以这样设计,首先第一个关键字段上级菜单,这个字段用来确定这个菜单是属于哪个菜单的子菜单,顶级的话就是空了。 第二个关键字段就是主键了,这里不要用自增的形式,这里我们可以按照我们的需要自己定义,比如第一级菜单,分别用,1
阅读全文
数据库默认值失效的场景
摘要:比如你数据库表里面有个字段是account,默认值是0,但是你insert语句里面有插入这个account字段,你并没有给这个字段赋值,那么执行这条sql的时候就会报错,并不会走数据库的默认值
阅读全文
针对一套增删改查涉及到流程的解决方案(干货)
摘要:1.第一步流程节点要确保是活的,可以在数据库里面的配置字典表里面去写记录,到时候查这张表的对应的是哪个节点即可,如果没有配置字典表的话,也可以去建一个流程节点表 这样的好处是方便以后的扩展性,可以随时增加新的流程节点,以及流程。可以采用-去拼接 例:1-2-3-4-5代表这个流程完整走完需要经过这五
阅读全文
调用第三方接口注意事项
摘要:场景:我们本地调用第三方接口时,往往是调用不起来的,必须借助于别的环境才能调用,因此本地排查问题是bebug不起来的,比如说行方即银行,像这种校验是否是该银行的银行卡时就只能在行里环境调用 1.在调用第三方接口前一定要打印入参的日志,以确保我妈是正确的数据传输过去 2.在调用第三方接口数据获取的数据
阅读全文
自定义注解
摘要:1.定义某个方法的注解 @Target({ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface AccountAuth{} AccountAuth这个名字可以知道这是一个产品权限的注解 2.实现这个注解
阅读全文
BIO ,NIO ,AIO
摘要:一、同步阻塞I/O(BIO): 服务器实现模式: 一个连接一个线程,即客户端有连接请求时服务器就需要启动一个线程进行处理 弊端:如果这个连接不做任何事情会造成不必要的线程开销 解决措施:可以通过线程池机制来改善 使用场景:适用于连接数目比较小且固定的架构,这种方式对服务端资源要求比较高,并发局限于应
阅读全文
类的加载顺序
摘要:类的实例化顺序简化:1.父类静态变量2.父类静态代码块 3.子类静态变量4.子类静态代码块 5.父类非静态变量(父类实例成员变量)6.父类构造函数 7.子类非静态变量(子类实例成员变量)8.子类构造函数即:父类静态成员和静态代码块->子类静态成员和静态代码块->父类非静态成员和非静态代码块->父类构
阅读全文
RESTful风格
摘要:Restful就是一个资源定位、资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 资源:互联网所有的事物都可以被抽象为资源资源操作:分为POST、DELETE、PUT、GET四种方法,使用不同方法对资源进行操作(增、删、改、查 1.
阅读全文