springboot2
文章平均质量分 86
spring boot 实例
智达教育
本人于20年毕业于东大,在学校跟随导师做了多个项目,现在2B大厂工做后端开发,有多年工作经验,同时热爱技术,对前端、python、大数据等多个领域有研究,希望与大家共进步。
展开
-
spring中的扩展点你都知道吗(涵盖几乎所有扩展点-及其使用方法)
Spring MVC拦截器,它可以获得HttpServletRequest和HttpServletResponse等web对象实例。preHandle 在目标方法执行之前执行执行目标方法后执行的postHandleafterCompletion 在请求完成时执行为了方便,我们一般继承HandlerInterceptorAdapter,它实现了HandlerInterceptor。如果有授权鉴权、日志、统计等场景,可以使用该拦截器,我们来演示下吧。原创 2024-06-11 08:57:20 · 1101 阅读 · 0 评论 -
Spring容器中同名 Bean 加载策略
场景描述:两个同名 bean,均通过 xml 的 bean 标签声明。其实这就是上面的场景了。可以看出,最终使用的是后面的 xml 中声明的 bean。其实原因是“后面的 xml 中声明的 bean”把“前面的 xml 中声明的 bean”覆盖了。我们可以看到 Bebug 信息:scope=;scope=;原创 2023-10-19 15:09:09 · 2127 阅读 · 0 评论 -
升级包版本之后Reflections反射包在springboot jar环境下扫描不到class排查过程记录
📢📢📢📣📣📣哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝一位上进心十足的【Java ToB端大厂领域博主】!😜😜😜喜欢java和python,平时比较懒,能用程序解决的坚决不手动解决😜😜😜✨ 如果有对【java】感兴趣的【小可爱】,欢迎关注我❤️❤️❤️。原创 2023-10-15 18:10:29 · 1191 阅读 · 0 评论 -
超详细的手把手撸代码---教你你⾃定义持久层框架设计--Mybatis(强烈建议阅读Mybatis源码前自己实现一个类似的框架)
手写实现mybatis功能原创 2022-06-17 11:07:57 · 1303 阅读 · 1 评论 -
@Import注解正确使用方式
目录简介一、功能简介二、示例1.引入普通类引入配置类(@Configuration注解修饰的)2.引入ImportSelector的实现类(1)静态import场景(注入已知的类)(2)动态import场景(注入指定条件的类)3.引入ImportBeanDefinitionRegister的实现类由于最近的项目需求,需要在把配置类导入到容器中,通过查询,使用@Import注解就能实现这个功能,@Import注解能够帮我们吧普通配置类(定义为Bean的类)导入到IOC容器中。该注解我们也能过在源码中经常看到,原创 2022-06-13 16:02:34 · 859 阅读 · 1 评论 -
Spring Boot自定义Starter组件开发实现
目录自定义starter为什么要自定义starter自定义starter的命名规则 实现方法引入依赖编写测试类创建配置类创建spring.factories文件乱码问题解决方案: 1. 使用yml配置文件进行配置。 2. 使用自定义配置文件如: 3. 把中文换成对应的ASCII码。SpringBoot中的starter是一种非常重要的机制,能够抛弃以前繁杂的配置,将其统一集成进 starter,应用者只需要在maven中引入starter依赖,SpringBoot就能自动扫描到要加载的信息并启 动相原创 2022-06-10 20:31:55 · 907 阅读 · 4 评论 -
SpringBoot使用@Value给静态变量注入值
目录SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值方案一:方案二方案三使用场景总结最近做项目的时候,给static变量赋值, 使用 @value注解 ,结果 获取一直为null ,SpringBoot中使用@Value()只能给普通变量注入值,不能直接给静态变量赋值例如,application-dev.properties 配置文件有如下配置:给普通变量赋值时,直接在变量声明之上添加@Value()注解即可,如下所示: 当要给静态变量注入值的时候,若是在静原创 2022-06-08 16:53:27 · 8179 阅读 · 4 评论 -
同一个类中一个方法调用另一个有注解的方法@Async,@Transational注解失效的原因和解决方法
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的。我们常看到这个问题,但是为什么呢?怀着好奇心搜索了一统,终于知道为什么了。比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有。如果调用了有注解的addPerson()方法,会启动一个Transaction;如果调用updatePersonByPhoneNo(),因为它内部调用了有注解的addPerson(),如果你以为系统也会为它启动一个Transaction,那原创 2021-11-25 19:32:38 · 750 阅读 · 1 评论 -
SpringBoot读取配置文件中的数据到map和list
相信大家对@Value注解非常熟悉。之前使用过@Value("${name}")来读取springboot配置文件中的配置信息,比如: @Value("${server.port}") private Integer port;后面遇到一个新问题,如果我要把配置文件中的一系列数据一下子读出来到同一个数据结构中怎么办呢?比如说读取配置信息到map或者list下面来讲述一下如何实现这个功能。springboot读取配置文件中的配置信息到map首先看配置文件要读到map中的信息:原创 2021-09-17 14:33:44 · 1975 阅读 · 0 评论 -
Java通过反射得到属性的值并对属性值进行设置
目录将配置中的属性读取到map中通过反射动态的修改字段今天项目有一个需求,就是想通过配置文件实现第三方的配置信息设置(之前的第三方的配置信息是写在数据库里面的)现在想通过配置信息实现配置的动态设置。配置信息约定以contract开头例如contract.name =章三contract.age=18等这里遇到一个问题就是如何把配置文件的属性,读取到一个map中的问题。如果有小伙伴也遇到这个问题,可以参考下面的配置方法。下面的方法就解决@Datapublic ...原创 2021-09-17 14:11:22 · 4355 阅读 · 1 评论 -
springboot拦截器和Filter&Listene
SpringBoot过滤器和Servlet3.0配置过滤器filter简单理解:人--->检票员(filter)---> 景点 1、SpringBoot启动默认加载的Filter characterEncodingFilter hiddenHttpMethodFilter httpPutFormContentFilter requestContextFilt...原创 2020-02-18 23:47:21 · 423 阅读 · 0 评论 -
SpringBoot 教程-------- profile 的应用
前沿:我们在日常开发的过程中一般会有不同的开发环境,测试环境、日常开发环境、预发环境、沙箱环境和线上环境等等,不同的环境一般配置是不同的,如果配置文件之一一个,每一个环境在开发过程中只能修改配置文件。这里以springboot为????说明profile的应用。在日常的开发当中,我们经常会通过maven的profile来共同配合实现多环境的测试开发和部署工作。这里主要讲的是springboot中的profile实现配置的多环境。好了,又挖了两个坑。后面慢慢填。????TODO 配置是如何加载的原创 2021-07-06 20:24:29 · 1126 阅读 · 0 评论 -
Springboot实现文件图片上传实战
springboot文件上传 MultipartFile file,源自SpringMVC 静态页面直接访问:localhost:8080/index.html 注意点:如果想要直接访问html页面,则需要把html放在springboot默认加载的文件夹下面 MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutStream...原创 2020-02-13 21:59:33 · 655 阅读 · 0 评论 -
Springboot热加载和配置文件
热加载 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true<...原创 2020-02-14 20:07:43 · 2849 阅读 · 0 评论 -
springbootHttp接口
请求注解:@RestController and @RequestMapping是springMVC的注解,不是springboot特有的 @RestController = @Controller+@ResponseBody (Json格式)不加的话会当成一个页面view 会出错@SpringBootApplication = @Configuration+@Ena...原创 2020-02-13 15:58:37 · 1165 阅读 · 0 评论 -
@MapperScan
之前是,直接在Mapper类上面添加注解@Mapper,这种方式要求每一个mapper类都需要添加此注解,麻烦。通过使用@MapperScan可以指定要扫描的Mapper类的包的路径,比如:@SpringBootApplication@MapperScan("com.lz.water.monitor.mapper")// 添加对mapper包扫描public class Appli...转载 2019-03-31 17:27:13 · 438 阅读 · 0 评论 -
前后端联调和跨域处理
动静分离之前端项目静态页面引入和相关js包使用1、bootstap和jquery介绍和学习资料 bootstapt:https://v3.bootcss.com/getting-started/ jquery:http://www.w3school.com.cn/jquery/index.asp2、知识拓展:什么是内容分发网络,CDN的好处静态放上面,js放下面cd...原创 2020-02-27 21:19:12 · 557 阅读 · 0 评论 -
全局异常处理和日志打点统计
全局异常处理和日志打点统计全剧自定义异常在开发过程中通常抛出异常,如果不进行全局打点,很不友好。前端很难知道具体发送问题的原因。public class CustomException extends RuntimeException{//状态码 private int code;//异常消息 private String msg; publi...原创 2020-02-27 16:36:22 · 669 阅读 · 0 评论 -
微信支付---二维码的生成(保姆级介绍)
1、生成二维码返回页端 加入依赖 <!-- google二维码生成包 --> <dependency> <groupId>com.google.zxing</groupId> ...原创 2020-02-27 15:06:31 · 4135 阅读 · 2 评论 -
二维码工具生成扫一扫支付二维码
1、生成二维码返回页端 加入依赖 <!-- google二维码生成包 --> <dependency> <groupId>com.google.zxing</groupId> ...原创 2020-02-27 07:54:05 · 221 阅读 · 0 评论 -
封装常用工具类CommonUtils和WXpayUtils(10-11)
从微信开发者文档获取部分代码 https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=11_11、CommonUtils包含方法 md5,uuid等 //生成 uuid, 即用来标识一笔单,也用做 nonce_str public static String generateUUID() { ...原创 2020-02-27 07:51:59 · 3174 阅读 · 0 评论 -
IDE生成单元测试和基本流程
1、 核心注解 @RunWith(SpringRunner.class) @SpringBootTest 2、根据公司情况,写单元测试,核心接口一定要写,非核心的尽量写 3、断言类型,可以细化IEDA生成测试方法,在方法上右键-->goto -->Test勾选相应的方法...原创 2020-02-25 20:47:32 · 519 阅读 · 0 评论 -
第三方支付和聚合支付
第三方支付是指具备一定实力和信誉保障的独立机构,采用与各大银行签约的方式,通过与银行支付结算系统接口对接而促成交易双方进行交易的网络支付模式。通俗的例子: 支付宝,微信支付,百度钱包,PayPal(主要是欧美国家) 拉卡拉(中国最大线下便民金融服务提供商)优点: 1、支付平台降低了政府、企业、事业单位直连银行的成本,满足了企业专注发展在...原创 2020-02-25 18:14:06 · 2484 阅读 · 0 评论 -
用户登陆拦截器实现
1、实现接口 LoginInterceptor implements HandlerInterceptor 2、重写preHandler String accessToken = request.getHeader("token"); if(accessToken == null){ acces...原创 2020-02-25 13:39:33 · 205 阅读 · 0 评论 -
微信开放平台————拼接获取扫码地址(1)
开发步骤总结:1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。时序图:简单说明: 1....原创 2019-02-23 16:32:57 · 2762 阅读 · 0 评论 -
HttpClient的使用
引入依赖<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version&原创 2019-02-23 16:27:31 · 277 阅读 · 0 评论 -
接口配置文件自动映射到属性和实体类配置和动态sql
1、添加 @Component或者Configuration 注解; 2、使用 @PropertySource 注解指定配置文件位置;(属性名称规范: 大模块.子模块.属性名) #=================================微信相关================== #公众号 wxpay.a...原创 2020-02-23 13:46:00 · 379 阅读 · 0 评论 -
Mysql逆向工程效率神器——使用IDE自动生成Java实体类
使用IDE根据Mysql可以自动生成Java pojo实体类1.用IDE连接数据库测试连接数据库成功选中其中的一张表-->右键-->...之后选择存放的路径就会生成XXX.java但是包不对选择这里进行脚本编辑 改成自己需要的包名注意Data数据类型 java.uiil.Data...原创 2019-02-19 20:39:06 · 742 阅读 · 0 评论 -
JWT的详细入门(都能看懂)
加入相关依赖 编写生成token 编写检验token相关依赖<!--jwt的依赖 --><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.7.0&a原创 2019-02-21 11:45:43 · 3243 阅读 · 0 评论 -
Spring——JDBC Template 模板
目录一、入门使用1.Dao层的解决的方法2.JDBC模板的简单使用(1)创建项目引入jar包(2)创建数据库和表(3)使用JDBC的模板保存数据二、将连接池和模板交给spring管理1.引入spring的配置文件2.配置内置连接池和JDBC模板3.使用JDBC的模板4.开源连接池的引入(1)问题描述(2)DBCP的使用(3)c3p...原创 2019-03-22 16:48:12 · 167 阅读 · 0 评论 -
Spring boot 中普通类型如何注入Service或mapper
最近遇到一个难题(大佬可能感觉这太简单了把),对于我这样的小白来说,确实有些头疼。接下来说一下我遇到的问题,在spring boot中创建了一个UDP客户端,用于监听UDP服务端发送到数据。在实现这一功能时遇到主要遇到了两个难题1.由于之前都是通过controller调用service层来实现访问,现在要建立一个持久的连接来实现监听某一端口的数据,由于做的项目不多,经验不足,spring也...原创 2019-03-13 19:41:20 · 6843 阅读 · 0 评论 -
微信开封平台——保存用户信息(4)
UserServiceImpl@Overridepublic User saveWeChatUser(String code) { String accessTokenUrl = String.format(WeChatConfig.getOpenAccessTokenUrl(),weChatConfig.getOpenAppid(),weChatConfig.getOpenA...原创 2019-02-26 20:09:01 · 315 阅读 · 0 评论 -
PageHelper分页插件的简单使用
导入依赖导入依赖 增加配置文件 使用<!-- 分页插件依赖 --><dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.原创 2019-02-23 16:34:02 · 632 阅读 · 0 评论 -
微信开放平台————获取用户信息(3)
5.通过access——token获取用户的信息 /** * 微信开放平台获取用户信息连接 * %s替换 */ private final static String OPEN_USER_INFO_URL="https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s";// privat...原创 2019-02-23 23:20:43 · 3086 阅读 · 0 评论 -
微信开放平台————获取access_token(2)
第4步 收到code+state扫码确认登录之后,就会回调到重定向的地址(获得code和state)http://xdclasstest2.ngrok.xiaomiqiu.cn/api/v1/wechat/user/callback?code=061vNjP70F1KQE1poXO70Q7bP70vNjPE&state=xdclass.net 5.通过c...原创 2019-02-23 22:26:47 · 4214 阅读 · 0 评论