Skip to content

FutaoSmile/LazyStarter

Repository files navigation

懒人组件库-公共组件

为避免每个项目都需要重复编写的部分代码,现在提出来作为通用的代码组件库,该组件库根据不同的功能模块,将组件拆分成了一个个小模块。其他项目只需要导入相应的基础组件就可以了。方便管理,便于开发。

  • 使用方法 【安装】将本项目clone到本地(https://github.com/FutaoSmile/CommonFramework),执行mvn clean install -Dmaven.test.skip=true即可将组件安装到本地maven仓库。

    【在maven中使用】

        <properties>
            <project.lazy.version>1.1.2</project.lazy.version>
        </properties>
    
        <dependency>
            <groupId>com.lazy.starter</groupId>
            <artifactId>http-client</artifactId>
            <version>${project.lazy.version}</version>
        </dependency>
    
        <dependency>
             <groupId>com.lazy.starter</groupId>
            <artifactId>api-generator</artifactId>
            <version>${project.lazy.version}</version>
        </dependency>

    【在gradle中使用】需要先设置为项目设置从本地拉取maven依赖

    buildscript {
        ext {
        	lazyVersion = '1.1.2'
        }
    
    repositories {
     		//从本次maven库中找
        mavenLocal()
        //从maven中央仓库找
        mavenCentral()
    }
    
    //依赖
    dependencies {
    //通用模块组件依赖
        compile "com.lazy.starter:http-client:${lazyVersion}"
        compile "com.lazy.starter:foundation:${lazyVersion}"
        compile "com.lazy.starter:api-generator:${lazyVersion}"
    }
    

根据swagger-api生成markdown文档。markdown可再导出为pdf,html等

http工具包

# http-client

  • 使用方法
public class Test{
        @Test
        public void test89() {
            AbstractBaseRequest request = new GetRequest("http://localhost:8887/user/list");
            request.addCredentials("admin", "admin");
            request.addParameter("pageNum", "1");
            request.addParameter("pageSize", "100");
            String result = request.send();
            System.out.println(result);
        }
}

image.png

国际化模块,可参考aliOss的实现

        <dependency>
            <groupId>com.aliyun.oss</groupId>
            <artifactId>aliyun-sdk-oss</artifactId>
            <version>2.8.3</version>
        </dependency>

mybatis二级缓存

工具包

  • 读取Excel
  • 写入Excel
  • SpringBoot-Admin的使用-服务端
  • 使用SpringSecurity保证SpringBootAdminServer的安全

1. 使用方法

  • 添加依赖即可
        <artifactId>lazy-cache</artifactId>
        <groupId>com.lazy.starter</groupId>
        <version>1.2.5</version>
  • 实现了与SpringStarter一样的自动装配功能,只需要引入依赖即可使用。

2. 实现的功能

  • FastJsonRedisSerializer.class实现了RedisTemplate<String,T>的序列化与反序列化,杜绝乱码的出现。且可直接指定value的类型,存储与查询不再需要将对象转换成String再转换成对象,使用起来非常方便。 eg:

        @Resource
        private RedisTemplate<String, User> redisTemplate;
    
      //存储
         User user = new User();
         user.setUserName("futao");
         redisTemplate.opsForValue().set("1", user);
    
      //查询
      User user = redisTemplate.opsForValue().get("1");

    image.png

  • FastJsonRedisSerializer4CacheManager.class实现了RedisCacheManager-Redis缓存管理器的使用FastJson作为自定义的序列化/反序列化工具,杜绝的乱码的产生。 通过RedisConfig.determineConfiguration()方法,将JDK的序列化方式改为FastJsonRedisSerializer4CacheManager

# TODO

  • 如果对象继承自IdTime类,则自动给对象设置id,createTime和modifyTime