spring boot 3.0.6

This commit is contained in:
Jesse-Ma
2023-05-25 09:36:32 +08:00
parent ecc72cbea7
commit eef553edcc
19 changed files with 255 additions and 253 deletions

13
pom.xml
View File

@@ -6,7 +6,7 @@
<parent> <parent>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId> <artifactId>spring-boot-starter-parent</artifactId>
<version>3.0.5</version> <version>3.0.6</version>
<relativePath /> <!-- lookup parent from repository --> <relativePath /> <!-- lookup parent from repository -->
</parent> </parent>
<groupId>com.flagnote</groupId> <groupId>com.flagnote</groupId>
@@ -20,7 +20,8 @@
<maven.compiler.target>17</maven.compiler.target> <maven.compiler.target>17</maven.compiler.target>
<maven.compiler.compilerVersion>17</maven.compiler.compilerVersion> <maven.compiler.compilerVersion>17</maven.compiler.compilerVersion>
<spring-cloud.version>2022.0.2</spring-cloud.version> <spring-cloud.version>2022.0.2</spring-cloud.version>
<docker.image.prefix>flagnote</docker.image.prefix> <docker.repostory>registry.openif.com:5000</docker.repostory>
<docker.registry.name>flagnote</docker.registry.name>
</properties> </properties>
<dependencies> <dependencies>
<dependency> <dependency>
@@ -123,9 +124,13 @@
<artifactId>docker-maven-plugin</artifactId> <artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version> <version>1.2.2</version>
<configuration> <configuration>
<dockerHost>http://rancher:42375</dockerHost> <serverId>docker-openif</serverId>
<registryUrl>http://${docker.repository}</registryUrl>
<pushImage>true</pushImage>
<dockerHost>http://144.34.221.20:42375</dockerHost>
<imageName> <imageName>
${docker.image.prefix}/${project.artifactId}:${project.version}</imageName> ${docker.repostory}/${docker.registry.name}/${project.artifactId}:${project.version}
</imageName>
<dockerDirectory>src/main/docker</dockerDirectory> <dockerDirectory>src/main/docker</dockerDirectory>
<resources> <resources>
<resource> <resource>

View File

@@ -1,11 +1,7 @@
package com.flagnote.note.aop; package com.flagnote.note.aop;
import java.util.concurrent.TimeUnit;
import org.aspectj.lang.JoinPoint; import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut; import org.aspectj.lang.annotation.Pointcut;

View File

@@ -1,11 +1,11 @@
package com.flagnote.note.aop; package com.flagnote.note.aop;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME; import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@Retention(RUNTIME) @Retention(RUNTIME)
@Target(METHOD) @Target(METHOD)
public @interface CountTime { public @interface CountTime {

View File

@@ -22,11 +22,9 @@ import com.flagnote.note.service.NoteService;
import com.flagnote.note.utils.BizKeyUtils; import com.flagnote.note.utils.BizKeyUtils;
import com.flagnote.note.utils.JsonResult; import com.flagnote.note.utils.JsonResult;
import cn.hutool.core.util.ZipUtil;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@Slf4j @Slf4j
@RestController @RestController
public class NoteController { public class NoteController {
@@ -109,7 +107,8 @@ public class NoteController {
@RequestMapping(value = "/note/{key:[abcdefghijkmnopqrstuvwxyz23456789]{16}}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE) @RequestMapping(value = "/note/{key:[abcdefghijkmnopqrstuvwxyz23456789]{16}}", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public JsonResult saveNote(@PathVariable("key") String key, @RequestPart("file") MultipartFile file, public JsonResult saveNote(@PathVariable("key") String key, @RequestPart("file") MultipartFile file,
@RequestParam("lock") Integer lock, @RequestParam("md5") String md5,@RequestParam("initTime") String initTime) throws IOException { @RequestParam("lock") Integer lock, @RequestParam("md5") String md5,
@RequestParam("initTime") String initTime) throws IOException {
Date pushTime = new Date(); Date pushTime = new Date();
Note note = new Note(); Note note = new Note();
@@ -136,5 +135,4 @@ public class NoteController {
return noteService.getNoteText(key); return noteService.getNoteText(key);
} }
} }

View File

@@ -4,12 +4,9 @@ import java.io.Serializable;
import lombok.Data; import lombok.Data;
@Data @Data
public class Secret implements Serializable { public class Secret implements Serializable {
/** /**
* *
*/ */

View File

@@ -13,7 +13,6 @@ import com.flagnote.note.entity.Note;
@Repository @Repository
public interface NoteMongoRepository extends MongoRepository<Note, String> { public interface NoteMongoRepository extends MongoRepository<Note, String> {
@Query(value = "{'state' : {'$eq' : 1},'expireTime' : {'$lt' : ?0}}") @Query(value = "{'state' : {'$eq' : 1},'expireTime' : {'$lt' : ?0}}")
public Page<Note> findExpireNote(Date date, Pageable page); public Page<Note> findExpireNote(Date date, Pageable page);

View File

@@ -1,14 +1,11 @@
package com.flagnote.note.schedule; package com.flagnote.note.schedule;
import java.util.Date; import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;

View File

@@ -1,13 +1,9 @@
package com.flagnote.note.service; package com.flagnote.note.service;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.util.Date; import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.Assert;
import com.flagnote.note.aop.CountTime; import com.flagnote.note.aop.CountTime;
import com.flagnote.note.cache.NoteCache; import com.flagnote.note.cache.NoteCache;
@@ -18,7 +14,6 @@ import com.flagnote.note.utils.SecretUtils;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ZipUtil; import cn.hutool.core.util.ZipUtil;
@Service @Service

View File

@@ -4,7 +4,6 @@ import java.io.UnsupportedEncodingException;
import java.util.Date; import java.util.Date;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;
public class BizKeyUtils { public class BizKeyUtils {
@@ -95,7 +94,6 @@ public class BizKeyUtils {
return md5(key + "#" + MIX_STRING + "#" + initTime).equals(cipher); return md5(key + "#" + MIX_STRING + "#" + initTime).equals(cipher);
} }
public static String getSecretKey(String key) { public static String getSecretKey(String key) {
return md5(key + "#" + SECRET_KEY_STRING); return md5(key + "#" + SECRET_KEY_STRING);
} }
@@ -128,10 +126,6 @@ public class BizKeyUtils {
} }
} }
} }

View File

@@ -12,8 +12,7 @@ import lombok.extern.slf4j.Slf4j;
public class GlobalExceptionHandler { public class GlobalExceptionHandler {
@ExceptionHandler(RuntimeException.class) @ExceptionHandler(RuntimeException.class)
public Object businessExceptionHandler(HttpServletRequest request,HttpServletResponse response,Exception e) public Object businessExceptionHandler(HttpServletRequest request, HttpServletResponse response, Exception e) {
{
log.error("ExceptionHandler(RuntimeException.class)", e); log.error("ExceptionHandler(RuntimeException.class)", e);
JsonResult jsonResult = new JsonResult(); JsonResult jsonResult = new JsonResult();
String message = e.getMessage(); String message = e.getMessage();
@@ -27,8 +26,7 @@ public class GlobalExceptionHandler {
} }
@ExceptionHandler(Exception.class) @ExceptionHandler(Exception.class)
public Object exceptionHandler(HttpServletRequest request,HttpServletResponse response,Exception e) public Object exceptionHandler(HttpServletRequest request, HttpServletResponse response, Exception e) {
{
log.error("ExceptionHandler(Exception.class)", e); log.error("ExceptionHandler(Exception.class)", e);
JsonResult jsonResult = new JsonResult(); JsonResult jsonResult = new JsonResult();
jsonResult.setCode("900000"); jsonResult.setCode("900000");

View File

@@ -79,12 +79,9 @@ public class JsonUtils {
return parse(json, null, type); return parse(json, null, type);
} }
/** /**
* json => 对象处理方法 * json => 对象处理方法 <br>
* <br> * 参数clazz和type必须一个为null另一个不为null <br>
* 参数clazz和type必须一个为null另一个不为null
* <br>
* 此方法不对外暴露访问权限为private * 此方法不对外暴露访问权限为private
* *
* @param json 源json串 * @param json 源json串

View File

@@ -1,17 +1,10 @@
package com.flagnote.note.utils; package com.flagnote.note.utils;
import java.nio.ByteBuffer;
import java.util.Arrays;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.util.PrimitiveArrayUtil;
import cn.hutool.core.util.ZipUtil;
import cn.hutool.crypto.Mode; import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding; import cn.hutool.crypto.Padding;
import cn.hutool.crypto.symmetric.AES; import cn.hutool.crypto.symmetric.AES;
import cn.hutool.crypto.symmetric.XXTEA;
public class SecretUtils { public class SecretUtils {
@@ -26,8 +19,7 @@ public class SecretUtils {
} }
public static byte[] aesDecode(byte[] bytes, String keyWord) { public static byte[] aesDecode(byte[] bytes, String keyWord) {
AES aes = new AES(Mode.ECB, Padding.NoPadding, AES aes = new AES(Mode.ECB, Padding.NoPadding, new SecretKeySpec(keyWord.getBytes(), "AES"));
new SecretKeySpec(keyWord.getBytes(), "AES"));
return aes.decrypt(bytes); return aes.decrypt(bytes);
} }
} }

View File

@@ -8,4 +8,3 @@ spring:
uri: http://flagnote-config-01:8080/flagnote-config,http://flagnote-config-02:8080/flagnote-config uri: http://flagnote-config-01:8080/flagnote-config,http://flagnote-config-02:8080/flagnote-config
config: config:
import: optional:configserver:http://flagnote-config-01:8080/,optional:configserver:http://flagnote-config-02:8080/ import: optional:configserver:http://flagnote-config-01:8080/,optional:configserver:http://flagnote-config-02:8080/

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<springProperty scope="context" name="logPath" source="logback.logPath"/>
<property name="pattern" value="[%date{yyyy-MM-dd HH:mm:ss.SSS}] %X{logthreadId} %-5level %logger{80} %method %line - %msg%n"/>
<property name="charsetEncoding" value="UTF-8"/>
<property name="LOG_HOME" value="${logPath}"/>
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${pattern}</pattern>
<charset>${charsetEncoding}</charset>
</encoder>
</appender>
<appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<append>true</append>
<encoder>
<pattern>${pattern}</pattern>
<charset>${charsetEncoding}</charset>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>
${LOG_HOME}${file.separator}%d{yyMMdd}_info_%i.log
</fileNamePattern>
<maxHistory>30</maxHistory>
<maxFileSize>20MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
</appender>
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="infoLog"/>
</root>
</configuration>