slf4j

Spring Boot 2.x基础教程:实现文件上传

邮差的信 提交于 2021-01-08 18:28:27
文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然后再做图片的裁剪,excel数据的解析入库等后续操作。 今天通过这篇文章,我们就来一起学习一下如何在Spring Boot中实现文件的上传。 动手试试 第一步 :创建一个基础的Spring Boot项目,如果还不会的话就先看看这篇 《快速入门》 。 第二步 :在 pom.xml 中引入模版引擎依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> 你也可以选择其他你熟悉的模版引擎,比如:Freemarker。 第三步 :在 resources 目录下,创建新目录 templates ;在 templates 目录下再创建一个文件上传的页面 upload.html ,内容如下: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8" /> <title>文件上传页面</title> </head> <body> <h1>文件上传页面</h1> <form method=

Java日志规约

谁说我不能喝 提交于 2021-01-08 18:22:07
Rule 1. 【强制】应用中不可直接使用日志库(Log4j、Logback)中的API,而应使用日志框架SLF4J中的API 使用门面模式的日志框架,有利于维护各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static Logger logger = LoggerFactory.getLogger(Foo.class); Rule 2. 【推荐】对不确定会否输出的日志,采用占位符或条件判断 //WRONG logger.debug("Processing trade with id: " + id + " symbol: " + symbol); 如果日志级别是info,上述日志不会打印,但是会执行1)字符串拼接操作,2)如果symbol是对象,还会执行toString()方法,浪费了系统资源,最终日志却没有打印。 //RIGHT logger.debug("Processing trade with id: {} symbol : {} ", id, symbol); 但如果symbol.getMessage()本身是个消耗较大的动作,占位符在此时并没有帮助,须要改为条件判断方式来完全避免它的执行。 //WRONG logger.debug("Processing

spring cloud stream

早过忘川 提交于 2021-01-03 11:39:50
创建spring boot工程,添加pom依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-stream-rabbit</artifactId> </dependency> View Code 添加消息接收SinkReceiver import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.stream.annotation.EnableBinding; import org.springframework.cloud.stream.annotation.StreamListener; import org.springframework.cloud.stream.messaging.Sink; @EnableBinding(Sink. class ) public class SinkReceiver { private static Logger logger= LoggerFactory.getLogger(SinkReceiver. class ); @StreamListener(Sink.INPUT) public

企业分布式微服务云架构技术分享 Spring Cloud+Spring Boot+Mybatis

北战南征 提交于 2021-01-01 03:07:09
1.介绍 Commonservice-system是一个大型分布式、微服务、面向企业的JavaEE体系快速研发平台,基于模块化、服务化、原子化、热插拔的设计思想,使用成熟领先的无商业限制的主流开源技术构建。采用服务化的组件开发模式,可实现复杂的业务功能。提供驱动式开发模式,整合内置的代码生成器,将JavaEE开发效率提高5倍以上,减少50%的代码开发量,解决80%的重复工作,让开发者更关注业务逻辑。使用Maven进行项目的构建管理,采用Jenkins进行持续集成,主要定位于大型分布式企业系统或大型分布式互联网产品的架构。 2.使用技术 SOA服务框架:SpringCloud 、SpringBoot、RestFul等 分布式缓存:Redis 模块化管理:Maven 数据库连接池:Alibaba Druid 核心框架:Spring framework、SpringBoot 持久层框架:MyBatis 安全框架:Apache Shiro 服务端验证:Hibernate Validator 任务调度:quartz 日志管理:SLF4J 1.7、Log4j 客户端验证:JQuery Validation 动态页签:easyuitab 前端框架:Bootstrap、Vue 3.设计思想 分布式、微服务、云架构 JAVA语言开发、跨平台、高性能、高可用、安全、服务化、模块化、组件化

学习shiro第二天

泄露秘密 提交于 2020-12-31 09:31:40
昨天讲了shiro的认证流程以及代码实现,今天将对这个进行扩展。 因为我们的测试数据是shiro.ini文件中配置的静态数据,但实际上数据应该从数据库中查询出来才合理,因此我们今天讲讲JdbcRealm的使用。 本次需要的jar包如下: commons-beanutils-1.9.3.jar commons-logging-1.2.jar jcl-over-slf4j-1.7.12.jar log4j-1.2.16.jar shiro-all-1.4.1.jar slf4j-api-1.7.25.jar slf4j-log4j12-1.6.4.jar mysql-connector-java-5.1.47.jar mchange-commons-java-0.2.11.jar c3p0-0.9.5.2.jar IniSecurityManagerFactory部分源码: public static final String MAIN_SECTION_NAME = " main " ; public static final String SECURITY_MANAGER_NAME = " securityManager " ; public static final String INI_REALM_NAME = " iniRealm " ; ...... protected

集成log4j

落花浮王杯 提交于 2020-12-30 20:43:56
1 . pom 依赖 < dependency > < groupId > org.slf4j </ groupId > < artifactId > log4j-over-slf4j </ artifactId > < version > 1.7.25 </ version > </ dependency > 2.项目中引用 import org.apache.log4j.Logger; private final static Logger LOGGER = Logger. getLogger (ApiCtrl. class ); 3.项目中使用 LOGGER .info( "-------------------resvServerCmd params -------------------:" + params.toString()); LOGGER .error( " 发 生 错误 " +User); LOGGER .debug( "debug" ); 来源: oschina 链接: https://my.oschina.net/daixingdeng/blog/4870301

spring boot quartz配置

旧街凉风 提交于 2020-12-30 14:00:30
##分布式定时任务## spring : quartz : properties : org : quartz : scheduler : instance-name : scheduleSchema instance-id : AUTO thread-pool : thread-count : 5 job-store : class : org.quartz.impl.jdbcjobstore.JobStoreTX driver-delegate-class : org.quartz.impl.jdbcjobstore.StdJDBCDelegate use-properties : false table-prefix : QRTZ_ is-clustered : true job-store-type : jdbc jdbc : initialize-schema : never overwrite-existing-jobs : true auto-startup : true import org.quartz.spi.JobFactory ; import org.quartz.spi.TriggerFiredBundle ; import org.springframework.beans.factory.config

封装了easyExcel的工具类,包含字段校验功能,使用validate校验注解即可

我的未来我决定 提交于 2020-12-28 22:38:51
package com.ciics.cscloud.xinsurance.social.utils.excel; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.util.StringUtils; import lombok.Data; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.util.CollectionUtils; import javax.validation.ConstraintViolation; import javax.validation

dubbo服务提供者、消费者、admin控制台

◇◆丶佛笑我妖孽 提交于 2020-12-28 18:50:27
1、服务接口单独定义一个bundle(jar) 新建一个service maven工程 Order: public class Order implements Serializable { public String getOrderId () { return orderId ; } public void setOrderId ( String orderId) { this . orderId = orderId; } public String getOrderName () { return orderName ; } public void setOrderName ( String orderName) { this . orderName = orderName; } private String orderId ; private String orderName ; } IOrder 服务接口 public interface IOrder { public Order findOrder ( String orderId); } 2、再新建一个maven 工程,结构如下: pom.xml <? xml version ="1.0" encoding ="UTF-8" ?> < project xmlns ="http://maven.apache.org

springboot2.x 整合redis

非 Y 不嫁゛ 提交于 2020-12-28 08:55:26
1.jar包依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> 2.application.yml # redis配置 redis: host: localhost password: timeout: 2000 port: 6379 3.config配置类 package com.example.proserver.config; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; /** * @Title: RedisProperties * @ProjectName proserver * @date 2019/3/511:33 */ @Data @ConfigurationProperties(prefix