Showing Posts From

Spring

SpringBoot事务不回滚总结

问题原因 数据库引擎一定不能为MyISAM 解决方案 使用InnoDB引擎,因为MyISAM不支持事务。

ConfigurationProperties注入静态变量的坑

问题描述 在使用@ConfigurationProperties注解时,静态变量无法直接注入。 解决方案 private static String copyrightYear;public static String getCopyrightYear() { return copyrightYear; }// set方法不能带上static public void setCopyrightYear(String copyrightYear) { HaiAnConfig.copyrightYear = copyrightYear; }/* // 这样子注入不进 public static void setCopyrightYear(String copyrightYear) { HaiAnConfig.copyrightYear = copyrightYear; } */关键点 set方法不能带上static关键字,否则@ConfigurationProperties无法正确注入值。

Spring多模块开发坑

问题描述 运行模块:sou-main 创建模块:sou-admin sou-main必须依赖sou-admin,否则项目运行的模块找不到新创建模块的类 解决方案 在sou-main中添加依赖: <!-- sou-main--> <dependency> <groupId>com.sou</groupId> <artifactId>sou-admin</artifactId> </dependency>在sou-parent中配置版本管理: <!-- sou-parent--> <dependencyManagement> <dependency> <groupId>com.sou</groupId> <artifactId>sou-admin</artifactId> <version>1.0</version> </dependency> </dependencyManagement>

SpringBoot打包后静态资源访问不到

问题描述 SpringBoot打包成jar包后,静态资源无法访问。 解决方案 在pom.xml中添加资源配置: <build> <resources> <resource> <!-- 打包时将jsp文件拷贝到META-INF目录下--> <!-- 指定resources插件处理哪个目录下的资源文件 --> <directory>src/main/resources</directory> <!--注意此次必须要放在此目录下才能被访问到--> <targetPath>META-INF/resources</targetPath> <includes> <include>**/**</include> </includes> </resource> </resources> </build>

Spring MCV配置文件方式事务回滚失败(Mysql8.0+)

问题描述 在Mysql8.0+环境下,使用Spring MVC配置文件方式配置事务时,事务回滚失败。 解决方案 在Mysql8.0需要注入SqlSessionTemplate: <!-- Mysql8.0事务配置回滚必须注入这个--> <bean class="org.mybatis.spring.SqlSessionTemplate" id="sessionTemplate"> <constructor-arg name="sqlSessionFactory" ref="sqlSessionFactory"/> <constructor-arg name="executorType" value="BATCH"/> </bean>关键点 必须注入SqlSessionTemplate,并设置executorType为BATCH模式。