2025

2025-01-06

Invalid bound statement (not found):  selectById

配置,扫描,依赖都对了,没找到原因:后来看别的人博文说是用要

com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean类

而不是org.mybatis.spring.SqlSessionFactoryBean类。

ps: 用的是spring+mybatis xml配置方式(比较老旧)。不是最新的springBoot+mybatis

相关链接: https://baomidou.com/reference/question/#_top

 出现 `Invalid bound statement (not found)` 异常

2025-01-12

运行springboot程序,程序没有驻留。直接像普通main程序一下,执行完结束了。原来是没有加这3个包:

tomcat-embed-core-9.0.56.jar

tomcat-embed-el-9.0.56.jar

tomcat-embed-websocket-9.0.56.jar

2025-01-14

原来springBoot能启动,但是识别不到接口(404)是缺少这个类。spring-webmvc-5.3.14.jar

2025-01-15

lettuce-core-6.1.5.RELEASE.jar 影响@Configuration对应逻辑的执行。(没有lettuce-core.jar, @Configuration里的代码不执行)

- - - - - - - -

遇到一个很奇怪的问题,明明已经引入了依赖还是显示类不存在,我用maven clear没效果。后来用idea的Build->Rebuild Project好了。。。

 

2025-01-16

集成mybatis-plue的时候

如果不加这个类spring-jdbc-5.3.14.jar,就报Caused by: java.lang.IllegalArgumentException: Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required错误。

HikariCP-4.0.3.jar同样需要。

mybatis-plus-boot-starter-3.5.1.jar也需要。

-- - - - - - - - -

哈哈,把类的扫描范围设得太大了,只设了 cn, 然后把hutool.jar里的类给扫描进来了。【cn/hutool/hutool-all/5.7.21/hutool-all-5.7.21.jar】

然后就报错了。看来还是要缩小一点。

2025-01-20

如果用java命令运行程序,log4j2产生的日志是在当前目录的logs/app.log。那说明你的配置没生效。

这个路径是它的默认路径。你需要把配置文件放到jar中,或者指定classpath在哪里。

比如 java -c  "conf:main.jar:lib/spring.jar" 这样就指定了conf目录为其中的一个classpath,这个目录下就可以放配置文件啦。

- - - - - - - - - - 

springboot的controller不支持   test2(@Valid @RequestBody StatLogRequest request)的写法,

报错的提示是:415 Unsupported Media Type

 解决办法:缺少下面的类:

jackson-annotations-2.13.1.jar

jackson-core-2.13.1.jar

jackson-databind-2.13.1.jar

jakarta.validation-api-3.1.0.jar

2025-02-10

在Spring框架中,@Bean注解用于在配置类(通常是标有@Configuration注解的类)中显式声明一个bean。通过@Bean注解,开发者可以自定义bean的创建、配置和依赖注入逻辑。

2025-02-13

写了一个@TryCatch的在切面中捕获异常,

不过在Controller【有@Controller注解】类中没有生效,放到普通的另一个@Service类中,有效果。

可能Controller类比较特殊吧。或者说,它在更高层面已经把异常捕获跳过了???

2025-02-21

发现maven有一个bug.

开发的时候,maven install的时候,lib里面只有abc_new.jar,但是一旦启动tomcat lib下面就又多了一个abc_old.jar  【old,new是同一个包,只是一个是新包,一个是旧包】。

正巧,他们同时存在的时候,服务启动不起来,报错。

常规操作,我就在引用到它的地方加<exclusions></exclusions>,所有用到的地方都加了。还是一启动就同时存在

快把我整成神经病了。

后来发现,A用到了abc_old.jar ,我在A中已经加了<exclusions></exclusions>。【不起作用】。

原来pom.xml里面,有一个叫B的工程,它引用了A, 【注意,因为B没有直接引用abc_old.jar,所以不容易发现】。

看原理,应该是B 引用了 A  然后把abc_old.jar带进来了。在我pom.xml A和B其实是同级引用的。完全看不出来,它们之间还有这种关系。唉。

2025-03-14

Thumbnails如果是jpg是用outputQuality设置图片质量

png的只能通过scale设置大小(以达到改变图片质量的目的),用outputQuality没效果,图片大小还可以增加。

所以png图片只能通过改变它的大小来减小图片的大小。(类似图片质量)

2025-03-18

SpringBoot集成freemarker需要加2个类:

spring-context-support-4.3.30.RELEASE.jar

freemarker-2.3.31.jar

2025-03-27

有时候,因为server.xml修得不对,tomcat虽然启动了,但是用wget或curl访问不到。

原因可能是,启动的不是自己认为的端口,可以用ss -antop|grep 8080  查看,你认为的端口有没有存在,如果不存在,那肯定是启动的是另的端口。

- - - - - - - - - - - - - - - - - - - - 

Exception in thread "main" java.lang.NoSuchFieldError: JAVA_NET_AUTHENTICATOR

这个报错坑人呀。

苹果自带的app-store-server-library没有维护好依赖okhttp的版本。导致不兼容。解决办法:

在pom.xml中

        <dependency>
            <groupId>com.apple.itunes.storekit</groupId>
            <artifactId>app-store-server-library</artifactId>
            <version>3.4.0</version>
            <exclusions>
                <exclusion>
                    <groupId>com.squareup.okhttp3</groupId>
                    <artifactId>okhttp</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>4.12.0</version>
        </dependency>

把默认的排除掉,然后自己添加高版本的。

2025-04-12

Parameter 0 of method redisTemplate in cn.angelshelter.main.sys.RedisConfig required a bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' that could not be found.

缺包:

在pom.xml中加

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>3.4.4</version>
        </dependency>

2025-04-14

wireshark中按url地址过滤记录:

http.request.uri  contains "play"

2025-05-29

        System.out.println("123\r\nabc".replace("\n", ""));
        System.out.println("123\r\nabc".replace("\r\n", ""));

输出结果:

abc
123abc

System.out.println或者日志系统,如果的\r就回到一行开头,把之前的输出抹掉了。

2025-06-03

有些低端安卓,比如安卓4.4

不支持let语法,要老老实实改成var

还有它们对var ddd = 44;的定义前后很敏感。全局变量定义必须写在最前面或者说方法调用前前面。

2025-06-12

去掉ONLY_FULL_GROUP_BY的方法:

进入mysql命令行

SHOW VARIABLES LIKE 'sql_mode'; 

可以查出当前的配置。

然后

set GLOBAL sql_mode =  '把ONLY_FULL_GROUP_BY去掉之后,剩下的';

执行就生效了。

不过有时候服务器还是连网状态(旧的)。重启一下服务器重新连接就好了。

2025-06-17

    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
      <version>3.5.1</version>
    </dependency>

没加这个会提示url不存在。

2025-09-25

Objects.requireNonNull(mapper);

如果为空就抛NullPointerException异常。

这个方法的设计遵循 Fail-fast 的编程思想,即让程序在出现问题时尽早失败,而不是等到执行到后续步骤时才抛出异常。这样可以更快地定位问题,提高调试效率

可读性高

Objects.requireNonNull(mapper, "Mapper 不能为 null");

2025-10-21

今天在做华为OD机试学习的时候,需要一个很有意思的问题。

在说一个LRU的时候,我就想用时间戳去记录每个操作的最新操作时间(System.currentTimeMillis() ,然后覆盖的时候,就找那个最旧的覆盖。

最后发现,最短时间内,虽然两个时间戳间隔着操作,但是它们的时间戳可能是相同的。【说明颗粒度不度】,后来我的解决方法是不得不用一个自增加锁的count来记录。

怎么重现的:就是我直接运行,返回的是一个结果,等我一步一步的debug,就返回另一个结果,中间没改代码。

2025-12-06

org.springframework.data.redis.RedisSystemException: Redis command interrupted; nested exception is io.lettuce.core.RedisCommandInterruptedException: Command interrupted

同时启动了2个服务器

posted on 2025-01-06 15:22  angelshelter  阅读(36)  评论(0)    收藏  举报

导航