-
整合mybatis-pagehelper实现分页
实现分页的前提:第一个是当前页数,第二个是每页显示多少条记录数,这里设置每页记录数为10条。
PageHelper的startPage(当前页数,每页显示记录数)实现原理:查询时有一个拦截,拦截后对sql语句进行包装(源码如下),也就是每次执行该方法时,都是查询指定数量记录并进行返回。
注意:这里需要注意如果当前页设置为0,会按当前页为第一页来处理,如果传过去的当前页大于最后一页,则会查询最后一页记录并且返回。
查看全部 -
Web异常处理和ajax异常处理结合使用
步骤:只需要在后端进行一个判断,判断该请求是否是ajax请求,如果是那么则以ajax异常方式处理,如果是web形式则以web异常处理形式处理即可。
查看全部 -
Jackson的基本演绎法
@JsonIgnore:使用场景-方法返回的对象有个属性不想被返回,就可以使用该注解修饰该属性。
@JsonFormat:使用场景-定义方法返回的日期格式,修饰日期属性,放置在属性上。
@JsonInclude(Include.NON_NULL):使用场景-当属性为null时,忽略该属性,不会显示给前端,如果属性有值,那么就会显示该属性。
注意:SpringBoot每次重启之前,需关闭服务台,要不然会报错。端口号
查看全部 -
配置基于SpringBoot的容器(Tomcat、Jetty)的一些属性,例如:端口、项目名。
配置服务端的端口号和项目path:application.properties配置文件中,如图修改(还可以配置错误页面,以及session最大超时时间,默认30分钟)注意:springboot2.0以后配置context-path为server.servlet.context-path=。
服务绑定IP地址,启动服务器时如果本机不是该IP地址则抛出异常启动失败,使用改配置本机ip一定要和该配置相同。
查看全部 -
SpringBoot使用devtools进行热部署
热部署:修改一个项目中的某个文件,可以不用关闭服务器,然后再重新启动,通过devtools就可以自动启动服务器。
devtools原理:
针对类——》监控整个项目的classpath,监控项目下的一些类,如果发生变化就会立即重新启动,对于项目中的jar包,不会重新加载,只会加载改变的类,所以相对来说会很快。
针对页面——》页面实现热部署可以通过在application.properties中设置spring.thymeleaf.cache=false实现,类似于JSP改变代码不需要重启动。
步骤1:引入devtools的jar包。
步骤2:application.properties配置文件中添加spring.devtools.restart.enabled=true,如果不想使用热部署改为false即可。
步骤3:application.properties中配置监听目录,spring.devtools.restart.additional-paths=src/main/java
扩展:可以使用排除某些目录的文件不需要restart(例如静态文件、图片、样式等),因为修改静态文件不需要重启服务,所以可以通过application.properties中设置,spring.devtools.restart.exclude=static/**,public/**
查看全部 -
Jackson的基本演绎法
@JsonIgnore:使用场景-方法返回的对象有个属性不想被返回,就可以使用该注解修饰该属性。
@JsonFormat:使用场景-定义方法返回的日期格式,修饰日期属性,放置在属性上。
@JsonInclude(Include.NON_NULL):使用场景-当属性为null时,忽略该属性,不会显示给前端,如果属性有值,那么就会显示该属性。
注意:SpringBoot每次重启之前,需关闭服务台,要不然会报错。
查看全部 -
如果要用spring-boot-starter-parent2.0之后的版本 spring.thymeleaf.content-type 改为 spring.thymeleaf.servlet.content-type=text/html
查看全部 -
springboot:资源文件属性配置可以通过注解映射到实体类,再将实体类注入到controller或者是service里去
首先,添加依赖
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
```
建resource.properties文件
前缀:com.imooc.opensource;属性:name,website,language
```
com.imooc.opensource.name=imooc
com.imooc.opensource.website=www.imooc.com
com.imooc.opensource.language=java
```
创建实体类Resource,有name,website,language三个属性,getter和setter方法
在Resource实体类头部加注解
@Configration:代表此类会引用资源文件
@ConfigurationProperties(prefix="前缀") : 做映射时,只把前缀后面的属性映射到实体类的字段里去
@PropertySource(value="classpath:resource.properties"):要引用的资源文件的位置
查看全部 -
@Transactional(propagation=Propagation.SUPPORTS)查询
@Transactional(propagation=Propagation.REQUIRED)增加,删除,修改
查看全部 -
事务隔离级别:
DEFAULT
READ_UNCOMMITTED
READ_COMMITTED
REPEATABLE_READ
SERIALIZABLE
事务的传播行为:
REQUIRED:如果有事务,加入当前事务;如果没有事务,创建新事务,适合数据的增加,删除操作。
SUPPORTS:如果有事务,加入当前事务;如果没有事务,不会创建新事务,可以脱离事务独立运行;适合数据的读取操作。
MANDATORY
REQUIRES_NEW
NOT_SUPPORTED
NEVER
NESTED
查看全部 -
https://github.com/leechenxiang/imooc-springboot-starter
查看全部 -
#thymeleaf 静态资源配置
spring.thymeleaf.prefix=classpath:/templates
spring.thymeleaf.suffix=.html
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.content-type=text/html
#开发时关闭缓存 线上改为true
spring.thymeleaf.cache=false
查看全部 -
#freemarker 静态资源配置
#设定ftl文件路径
spring.freemarker.template-loader-path=classpath:/templates
#关闭缓存,即时刷新,上线生产环境需改为true
spring.freemarker.cache=false
spring.freemarker.charset=UTF-8
spring.freemarker.check-template-location=true
spring.freemarker.content-type=text/html
spring.freemarker.expose-request-attributes=true
spring.freemarker.expose-session-attributes=true
spring.freemarker.request-context-attributes=request
#设置freemarker后缀
spring.freemarker.suffix=.ftl
查看全部 -
查看全部
-
SpringMVC的配置方式是这样的
查看全部
举报