Spring
文章平均质量分 57
二十六画生的博客
国内Top5硕士,先后在京东、字节从事多年后端开发、大数据开发。
展开
-
关于maven依赖中的<scope>provided</scope>使用
今天开发web的时候,需要用到servlet-api,于是在pom.xml中添加依赖<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>3.0-alpha-1</version> </depend原创 2021-03-18 10:16:01 · 1315 阅读 · 0 评论 -
SLF4J: Class path contains multiple SLF4J bindings.
启动时warning:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/Users/xcv/Documents/maven/MavenRepository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3...原创 2019-12-27 15:46:32 · 517 阅读 · 0 评论 -
maven profile <filtering>true</filtering>的作用
1 在pom.xml中 <!--<filtering>true</filtering>--> 被注释掉打包时能替换文件名,但是不能替换文件里面的标识符,启动项目时报错。2在pom.xml中 <filtering>true</filtering>打包时能替换文件名,也能替换文件里面的标识符:启动时正常-----...原创 2019-12-05 14:48:37 · 14028 阅读 · 3 评论 -
Test.initializationError » No runnable methods,Maven打包时跳过单元测试
打包时会把Test类及@Test修饰的方法执行一遍。报错原因是Test类中不含有@Test修饰的方法。方法1:不推荐。在报错的Test类中添加一个@Test修饰的方法。import org.junit.Test;..... @Test public void f1() { }方法2:在pom.xml中添加: <!--ma...原创 2019-12-05 14:23:18 · 2084 阅读 · 0 评论 -
Spring Aspect execution AfterThrowing 实例
execution是使用的最多的一种Pointcut表达式,表示某个方法的执行,其标准语法如下execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)modifiers-pattern表示方法的访问类型,public等;...原创 2018-12-27 21:40:21 · 1623 阅读 · 1 评论 -
thymeleaf的if条件--踩坑,合并单元格
for循环生成表格时:<!--如果带该if条件,若值为0或0.0时则不显示该td,会造成同一行后面的td空白,后面的数字会移到该单元格显示--><!--<td th:if="${info.num1}" th:text="${info.num1}"></td> --><td th:text="${info.num1}"原创 2018-06-20 10:13:31 · 20924 阅读 · 0 评论 -
SpringBoot Mock测试Controller
代码如下:@RestController@RequestMapping("/weather")public class WeatherController { private static final Logger logger = LoggerFactory.getLogger(WeatherController.class); @Autowired pri...原创 2018-07-23 20:18:08 · 3901 阅读 · 2 评论 -
ResultActions.andExpect,andDo的疑问
关于Mock的疑问解答如下: 转自:http://jinnianshilongnian.iteye.com/blog/2004660http://jinnianshilongnian.iteye.com/blog/1893135转载 2018-07-23 20:24:35 · 3794 阅读 · 1 评论 -
Spring 配置中的 default-lazy-init="true"
spring的容器是提供了lazy-load的,即默认的缺省设置是bean没有lazy-load,该属性处于false状态,这样导致spring在启动过程导致在启动时候,会默认加载整个对象实例图,从初始化ACTION配置、到service配置到dao配置、乃至到数据库连接、事务等等。 这么庞大的规模,难怪spring的启动时间要花将近1分钟。尝试了一下,把beans的default-lazy-in...转载 2018-06-08 22:17:57 · 4292 阅读 · 1 评论 -
spring配置中parent和abstract作用
关于spring中的bean定义,parent属性是什么意思? 1.<bean id="txProxyTemplate" abstract="true"class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"><property name="transactionAttribut...转载 2018-06-08 22:12:59 · 2811 阅读 · 0 评论 -
thymeleaf th:text拼接
html页面开头:<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.w3.org/1999/xhtml">比如:当前日期:2018年6月8日,超出平均值30%,对应如下源码:当前日期:<span th:text="${dt}"></span>超出平均值 <span th:te原创 2018-06-08 21:41:03 · 32795 阅读 · 2 评论 -
@Value使用注意事项
在spring mvc架构中,如果希望在程序中直接使用properties中定义的配置值,通常使用一下方式来获取: @Value("${tag}") private String tagValue;但是取值时,有时这个tagvalue为NULL,可能原因有:使用static或final修饰了tagValue,如下: private static String tagValue; ...转载 2018-06-22 16:45:38 · 5267 阅读 · 0 评论 -
@Autowired和@Resource的区别
@Autowired是Spring支持的注解@Resource 是JDK1.6支持的注解@Autowired默认按类型装配@Resource默认按名称装配@Resource装配顺序 1. 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常 2. 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常 3...转载 2018-06-07 22:43:48 · 289 阅读 · 0 评论 -
@Repository,@Service,@Resource不指定value,name时是否起作用
@Repository与@Resource@Repositorypublic interface UserDao {}@Service("UserService")public class UserService { //@Resource(name = "UserDao") //报错 @Resource//正确 private UserDao use...原创 2018-06-07 22:34:53 · 6888 阅读 · 1 评论 -
SpringBoot 使用MockMvc进行Controller的测
对模块进行集成测试时,希望能够通过输入URL对Controller进行测试,如果通过启动服务器,建立http client进行测试,这样会使得测试变得很麻烦,比如,启动速度慢,测试验证不方便,依赖网络环境等,这样会导致测试无法进行,为了可以对Controller进行测试,可以通过引入MockMVC进行解决。 MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Con...转载 2018-07-23 20:31:23 · 21957 阅读 · 3 评论 -
ApplicationContextAware接口的作用
ApplicationContextAware接口的作用https://blog.csdn.net/bailinbbc/article/details/76446594Spring容器会检测容器中的所有Bean,如果发现某个Bean实现了ApplicationContextAware接口,Spring容器会在创建该Bean之后,自动调用该Bean的setApplicationContext...转载 2018-08-27 14:51:40 · 316 阅读 · 0 评论 -
关于Session过期/失效的理解,session与cookie的交互
一直好奇关于Session的过期,一种说法是关闭浏览器即Session失效,另一种说法是可以设置Session的过期时间,时间到了自动过期。这两种说法到底是怎么回事?Session过期跟Cookie过期又有什么关系?网上搜了几篇相关文章:http://www.cnblogs.com/Vae1990Silence/p/4630392.html http://blog.csdn.net/...转载 2019-04-20 09:51:05 · 17144 阅读 · 0 评论 -
maven scope 的作用
一:1.Maven中的依赖作用范围概述Maven中使用 scope 来指定当前包的依赖范围和依赖的传递性。常见的可选值有:compile, provided, runtime, test, system 等。scope 主要是用在 pom.xml 文件中的依赖定义部分,例如: <dependency> <groupId>o...转载 2019-02-27 20:35:16 · 50065 阅读 · 1 评论 -
InitializingBean,static代码块,哪个先运行
@Servicepublic class AirService implements InitializingBean { public static final Logger logger = LoggerFactory.getLogger(AirService.class); public static List<Integer> toBeUsedLis...原创 2019-01-16 22:10:40 · 2098 阅读 · 1 评论 -
mapstruct的用法-dateFormat
可先阅读:mapstruct的用法-qualifiedByName使用的类都是这里的。1 源类public class AreaPO { private String cityName; private Integer haveAir; private Double pm25; private String pm10Str; private Da...原创 2018-12-25 21:35:26 · 13030 阅读 · 3 评论 -
mapstruct的用法-numberFormat
这里要注意,是String转Number或Number或String才有效,如果是Number转Number或其他类型的转换均不生效,比如Double转Double(用于格式化小数位)时不生效。先浏览:mapstruct的用法-qualifiedByName,用的都是这里的类。1 在Mapper中定义方法如下:Number转Number @Mapping(source = ...原创 2018-12-25 21:25:25 · 4098 阅读 · 1 评论 -
mapstruct的用法-qualifiedByName
qualifiedByName的意思就是使用这个Mapper接口中的指定的默认方法去处理这个属性的转换,而不是简单的get set。网上一直没找到...可用于格式化小数位等,在po转换为vo时就已格式化小数位完成,所以不必单独再写代码处理小数位。1 引用pom1 ,能正常使用mapstruct的注解,但不会生成Impl类 <!-- https://mvnrepos...原创 2018-12-25 21:02:21 · 15339 阅读 · 1 评论 -
Spring Aspect不运行
Aspect类要加@Component注解才行@Component//这个注解必须要有,不然切面无法执行@Aspectpublic class SysLogAspect {end原创 2018-12-27 20:22:24 · 1313 阅读 · 1 评论 -
@RequestBody的作用
1 不使用@RequestBody,每个属性对应一个参数,参数在请求的URL中 @PostMapping("/insert") public int insert(AreaAddDTO areaAddDTO) { return areaService.insert(areaAddDTO); }swagger显示如下:2 使用@Request...原创 2018-12-19 20:11:18 · 8166 阅读 · 3 评论 -
thymeleaf显示表格,for循环
<table border="1"> <tr> <th>用户名</th> <th>邮箱</th> <th>状态变量:index</th> <th>状态变量:count&原创 2018-06-13 11:17:05 · 52550 阅读 · 0 评论 -
InitializingBean,DisposableBean ,PostConstruct,PreDestroy作用与执行顺序
package com.springmvc.entity;import org.hibernate.validator.constraints.Length;import org.springframework.beans.factory.DisposableBean;import org.springframework.beans.factory.InitializingBean;i...原创 2018-06-02 19:42:57 · 1677 阅读 · 0 评论 -
Quartz java.lang.NoClassDefFoundError: org/quartz/JobDetail
pom中已经添加了 <!-- Quartz定时任务--> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> ...原创 2018-02-08 09:42:11 · 5861 阅读 · 0 评论 -
Spring基础知识汇总
1.IOC容器:Sping 的 BeanFactory 容器:XmlBeanFactory这个容器从一个 XML 文件中读取配置元数据,由这些元数据来生成一个被配置化的系统或者应用。XmlBeanFactory factory = new XmlBeanFactory(new ClassPathResource("Beans.xml"));Spring Applicatio原创 2017-04-28 14:42:08 · 477 阅读 · 0 评论 -
Spring中基于construct(构造函数)的依赖注入
package com;public class User { private String name; private Integer age; private String country; public User(String name, Integer age, String country) { super(); this.name = name; this.原创 2016-12-22 09:36:06 · 2060 阅读 · 0 评论 -
Spring中基于setter方法的依赖注入
package com;import service.AService;public class BService { private AService aService; public AService getaService() { return aService; } public void setaService(AService aService) { thi原创 2016-12-22 20:33:39 · 1278 阅读 · 0 评论 -
js,java上传文件到服务器
页面<script language="JavaScript" type="text/javascript" src="$request.contextPath/resources/js/page/optimizationJob.js"> 上传您的文件 :原创 2017-06-09 15:32:49 · 10077 阅读 · 2 评论 -
@RequestParam @RequestBody @PathVariable 等参数绑定注解详解
简介:handler method 参数绑定常用的注解,我们根据他们处理的Request的不同内容部分分为四类:(主要讲解常用类型)A、处理requet uri 部分(这里指uri template中variable,不含queryString部分)的注解: @PathVariable;B、处理request header部分的注解: @RequestHeader, @Co转载 2017-06-07 10:51:28 · 385 阅读 · 0 评论 -
@RequestMapping 用法详解之地址映射
简介:@RequestMappingRequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。RequestMapping注解有六个属性,下面我们把她分成三类进行说明。1、 value, method;value: 指定请求的实际地址,指定的地址可以是URI Template 模式(后面转载 2017-06-07 10:46:54 · 1705 阅读 · 0 评论 -
Spring的IOC,DI浅析
IOC控制反转:说的是创建对象实例的控制权从代码控制剥离到IOC容器控制,实际就是你在xml文件控制,侧重于原理。DI依赖注入:说的是创建对象实例时,为这个对象注入属性值或其它对象实例,侧重于实现。 IOC、DI模式1.依赖依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔转载 2017-06-06 20:02:06 · 369 阅读 · 0 评论 -
MVC三层模型(struts+spring+hibernate)总结
简单的说:struts 控制用的hibernate 操作数据库的spring 用解耦的详细的说:STRUTS 在 SSH 框架中起控制的作用 , 其核心是 Controller, 即 ActionServlet, 而 ActionServlet 的核心就是 Struts-confi g.xml. 主要控制逻辑关系的处理 .hibernate 是数据持转载 2017-06-06 19:57:33 · 1450 阅读 · 0 评论 -
Spring中propagation="REQUIRED"意思
事务传播行为种类Spring在TransactionDefinition接口中规定了7种类型的事务传播行为,它们规定了事务方法和事务方法发生嵌套调用时事务如何进行传播:表1事务传播行为类型事务传播行为类型说明PROPAGATION_REQUIRED如果当前没有事务,就新建一个事务,如果已经存在一转载 2017-06-06 18:42:36 · 6109 阅读 · 0 评论 -
Spring自动扫描组件@AutoWired,@Service,@Component,@Repository用法
通常情况下,声明所有的Bean类或组件的XML bean配置文件,这样Spring容器可以检测并注册Bean类或组件。 其实,Spring是能够自动扫描,检测和预定义的项目包并实例化bean,不再有繁琐的Bean类声明在XML文件中。下面是一个简单的Spring项目,包括客户服务和DAO层。让我们来探讨手动申明组件和自动扫描组件之间的不同。转载 2017-06-05 18:33:14 · 11472 阅读 · 1 评论 -
Support for specifying both a day-of-week AND a day-of-month parameter is not implemented.
Cron表达式,原因是:天(月的多少号)和天(周几)不能同时都为*,当有一个为*时,另一个要是?,才行。秒 分 时 天(月) 周 天(周) 年 一般年可以省略,如果是6位时,则是把年省略了。 <property name="cronExpression" value="0 48 17 * * * *" /> -- 报错 Support fo...原创 2018-02-08 09:51:23 · 9968 阅读 · 1 评论 -
SpringBoot集成SpringTask执行定时任务
第一步:.yml文件添加配置:testTask: doTask: cron: 0 6 20 ? * * 第二步:新建配置文件spring-task.xml:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/...原创 2018-02-08 20:22:31 · 2841 阅读 · 0 评论 -
session理解及实践
保持http链接状态的技术:一个是cookie技术,另一种是session技术。PHP中的session的生成;网上有人分析源码大意是 通过时间戳+微秒数+随机数,经过哈希算法等等,得到一串32位字符串(其中sess_是固定不变的 ),一定量的高并发情况下是有几率产生重复的; 拿着这个字符串,它有什么用呢; 第一步:它把字符串丢给client( 你的浏览器), 自己呢(服务器)就在本地创建了一个...转载 2018-03-01 13:57:51 · 482 阅读 · 0 评论