SpringBoot
文章平均质量分 52
ZmyCoder
学习笔记
展开
-
@ConditionalOnClass编译问题
@ConditionOnClass的编译问题原创 2022-06-23 15:48:22 · 994 阅读 · 1 评论 -
Validated校验
JavaWeb项目参数合法性校验目前Web项目校验参数合法性时,经常用到@Validated、@Valid等,下面总结下各种情况下的使用。情景1@Data@AllArgsConstructor@NoArgsConstructorpublic class TableColumnBO { @NotBlank(message = "表名不能为空") private String tableName; @NotBlank(message = "字段名不能为空") pri原创 2021-06-23 11:21:53 · 379 阅读 · 0 评论 -
SpringBoot中的classpath
一句话总结:classpath 等价于 main/java + main/resources + 第三方jar包的根目录。下面详细解释。首先,classpath顾名思义,是编译之后项目的路径,而不是对源程序的路径描述。但是它与源程序的一些路径是相互对应的,存在映射关系。需要介绍一下package打包、build 之间的关系及特点:1、 不管是build还是package,都不会把项目中使用的第三方jar包也一起打进去。build生成了如下的目录:2、由图可以看出,build将项目进行编译,m转载 2021-04-01 22:28:38 · 817 阅读 · 0 评论 -
记一次切面事务问题
场景:在spring aop的一个环绕增强方法中,多次修改数据库。首次尝试:在环绕增强方法上增加了注解@Transactional(rollbackFor = Exception.class)@Aspectpublic class StockManageAspect { @Transactional(rollbackFor = Exception.class) @Around("annotationPointcut()") public Object doAround(Pr原创 2021-04-01 17:55:03 · 469 阅读 · 1 评论 -
SpringBoot中忽略实体类中的某个属性不返回给前端的方法
SpringBoot中忽略实体类中的某个属性不返回给前端的方法:使用Jackson的方式://第一种方式,使用@JsonIgnore注解标注在属性上,忽略指定属性public class PropertyDTO { @JsonProperty("disable") private Integer disable; @JsonProperty("placeholder") private String placeholder; //使用@JsonIgnore注解,忽略原创 2021-03-31 16:56:36 · 15878 阅读 · 1 评论 -
记一个springboot多模块包扫描问题
问题描述:springboot建立多个模块,当一个模块需要使用另一个模块的服务时,需要注入另一个模块的组件,如下面图中例子:memberservice模块中的MemberServiceApiImpl类需要注入common模块中的RedisService组件,该怎么注入呢?解决:在memberservice模块的启动类上加上RedisService类所在包的全路径的组件扫描,就像这样:注意启动类上方的注解@ComponentScan(basePackages={“com.whu.commom.转载 2020-12-31 10:58:28 · 1002 阅读 · 2 评论 -
spring boot获取request
1. Controller中1.1 通过静态方法获取HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();但我在使用过程中发现遇到了一个警告Method invocation ‘getRequest’ may produce ‘java.lang.NullPointerException’ less… (Ctrl+F1)I转载 2021-01-05 16:30:07 · 895 阅读 · 0 评论 -
SpringBoot项目中开启MyBatis的SQL日志
转自:https://www.cnblogs.com/kingsonfu/p/9245731.html方式 一:在application.yml(.properties)中增加配置logging: level: com.threefivework.mymall.dao.mapper: DEBUG //包路径为mapper文件包路径方式二:在application.yml(.properties)中增加配置,在控制台打印sql:mybatis configuration:转载 2020-11-25 17:21:11 · 9800 阅读 · 2 评论 -
SpringBoot之Schedule定时任务
定时器比较框架名称Cron表达式固定时间执行固定频率执行任务持久化难易度TimerTask不支持支持支持不支持一般schedule支持支持支持不支持简单Quartz支持支持支持支持难在实际应用中,如果没有分布式场景(quartz 支持分布式, schedule 不支持(需要自己实现,用分布式锁),schedule跟spring结合的更好,还是很适用的。1、添加maven依赖包由于Spring Schedule包含在spring原创 2020-12-24 15:52:13 · 742 阅读 · 1 评论 -
SpringBoot测试类
//不加这两个注解,所有自动注入的对象将会失败(null)@RunWith(SpringRunner.class)@SpringBootTestpublic class SampleTest { @Autowired private UserMapper userMapper; @Test public void testSelect() { System.out.println(("----- selectAll method test -----原创 2020-12-24 15:56:05 · 3074 阅读 · 1 评论 -
@Import注解
1、@Import注解须知@Import只能用在类上 ,@Import通过快速导入的方式实现把实例加入spring的IOC容器中加入IOC容器的方式有很多种,@Import注解就相对很牛皮了,@Import注解可以用于导入第三方包 ,当然@Bean注解也可以,但是@Import注解快速导入的方式更加便捷@Import注解有三种用法2、@Import的三种用法@Import的三种用法主要包括:1、直接填class数组方式2、ImportSelector方式【重点】3、Impo转载 2021-03-05 15:40:05 · 12440 阅读 · 3 评论 -
关于@EnableConfigurationProperties 注解
先说作用:@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。说明:如果一个配置类只配置@ConfigurationProperties注解,而没有使用@Component,那么在IOC容器中是获取不到properties 配置文件转化的bean。说白了 @EnableConfigurationProperties 相当于把使用 @ConfigurationProperties 的类进行了一次注入。测试转载 2021-03-03 19:01:09 · 275 阅读 · 1 评论