starter-i18n 不再强制要求提供 bean: I18nMessageProvider

This commit is contained in:
b2baccline
2021-09-02 21:05:34 +08:00
parent 6456298a1c
commit 83ae28a942
3 changed files with 33 additions and 15 deletions

View File

@@ -1,30 +1,23 @@
package com.hccake.ballcat.admin.i18n.config;
import com.hccake.ballcat.common.i18n.I18nMessageProvider;
import com.hccake.ballcat.i18n.provider.CustomI18nMessageProvider;
import com.hccake.ballcat.i18n.service.I18nDataService;
import com.hccake.ballcat.autoconfigure.i18n.I18nMessageSourceConfiguration;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.boot.autoconfigure.AutoConfigureOrder;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.context.annotation.Import;
import org.springframework.core.Ordered;
/**
* 注册一个 I18nMessageProvider
*
* @author hccake
*/
@AutoConfigureOrder(value = Ordered.HIGHEST_PRECEDENCE)
@Import({ AdminI18nMessageProviderConfiguration.class, I18nMessageSourceConfiguration.class })
@MapperScan("com.hccake.ballcat.i18n.mapper")
@ComponentScan("com.hccake.ballcat.i18n")
@Configuration(proxyBeanMethods = false)
public class AdminI18nAutoConfiguration {
@Bean
@ConditionalOnMissingBean(I18nMessageProvider.class)
public I18nMessageProvider i18nMessageProvider(I18nDataService i18nDataService,
StringRedisTemplate stringRedisTemplate) {
return new CustomI18nMessageProvider(i18nDataService, stringRedisTemplate);
}
}

View File

@@ -0,0 +1,24 @@
package com.hccake.ballcat.admin.i18n.config;
import com.hccake.ballcat.common.i18n.I18nMessageProvider;
import com.hccake.ballcat.i18n.provider.CustomI18nMessageProvider;
import com.hccake.ballcat.i18n.service.I18nDataService;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.StringRedisTemplate;
/**
* 提供一个默认的 I18nMessageProvider
*
* @author hccake
*/
public class AdminI18nMessageProviderConfiguration {
@Bean
@ConditionalOnMissingBean(I18nMessageProvider.class)
public I18nMessageProvider i18nMessageProvider(I18nDataService i18nDataService,
StringRedisTemplate stringRedisTemplate) {
return new CustomI18nMessageProvider(i18nDataService, stringRedisTemplate);
}
}