欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 名人名企 > 后端的config包中的常用配置

后端的config包中的常用配置

2025/2/24 18:01:56 来源:https://blog.csdn.net/weixin_69912448/article/details/145330607  浏览:    关键词:后端的config包中的常用配置

文章目录

  • 一. CorsConfig
  • 二. Knife4jConfig
  • 三. MyBatisPlusConfig
  • 四. RedisTemplateConfig
  • 五. RedissonConfig

一. CorsConfig

全局跨域配置

@Configuration
public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {// 覆盖所有请求registry.addMapping("/**")// 允许发送 Cookie.allowCredentials(true)// 放行哪些域名(必须用 patterns,否则 * 会和 allowCredentials 冲突).allowedOriginPatterns("*").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").allowedHeaders("*").exposedHeaders("*");}
}

二. Knife4jConfig

接口文档配置

@Configuration
@EnableSwagger2
@Profile("dev")
public class Knife4jConfig {@Beanpublic Docket defaultApi2() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder().title("project-backend").description("project-backend").version("1.0").build()).select()// 指定 Controller 扫描包路径.apis(RequestHandlerSelectors.basePackage("com.***.project.controller")).paths(PathSelectors.any()).build();}
}

三. MyBatisPlusConfig

MyBatis Plus配置

@Configuration
@MapperScan("com.***.project.mapper")
public class MyBatisPlusConfig {/*** 拦截器配置** @return*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();// 分页插件interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));return interceptor;}
}

四. RedisTemplateConfig

RedisTemplate更适合于简单的Redis操作,比如简单缓存、简单消息队列。

通过新建 RedisTemplateConfig 配置类来创建自定义的 RedisTemplate Bean。

/****  自定义序列化**/
@Configuration
public class RedisTemplateConfig {@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {//创建RedisTemplate对象RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();//设置连接工厂redisTemplate.setConnectionFactory(connectionFactory);//设置Key的序列化redisTemplate.setKeySerializer(RedisSerializer.string());//创建Json序列化工具GenericJackson2JsonRedisSerializer jsonRedisSerializer = new GenericJackson2JsonRedisSerializer();//设置Value的序列化redisTemplate.setValueSerializer(jsonRedisSerializer);return redisTemplate;}
}

五. RedissonConfig

Redisson则提供了更高级的功能,比如分布式系统、集群和哨兵模式、RxJava集成。

Redisson 是一个 java 操作 Redis 的客户端,提供了大量的分布式数据集来简化对 Redis 的操作和使用,可以让开发者像使用本地集合一样使用 Redis,完全感知不到 Redis 的存在。

@Configuration
@ConfigurationProperties(prefix = "spring.redis")
@Data
public class RedissonConfig {private Integer database;private String host;private String password;private String port;@Beanpublic RedissonClient redissonClient() {Config config = new Config();config.useReplicatedServers().setDatabase(database).setPassword("".equals(password) ? null : password) // 这样没有密码就用默认值 null 有密码就用密码更加灵活.addNodeAddress(String.format("redis://%s:%s", host, port));return Redisson.create(config);}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词