springboot~starter包的制作(zuo)
springboot2.7之前的自動裝配
springboot-starter包,是一個公用組件包,它在被項目引用之后,它內部的bean被完成自動裝載,這個過程通過resources/META-INF/spring.factories文件來實現的
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.lind.mybatis.config.MybatisPlusConfig

另外,也可以通過在resources/META-INF/spring文件夾,添加文件org.springframework.boot.autoconfigure.AutoConfiguration.imports來實現bean的自己裝載

springboot2.7中的自動配置
新的(de)@AutoConfiguration 注(zhu)解,引入了(le)新的(de)@AutoConfiguration注(zhu)釋(shi)。 這個類用于聲(sheng)明在上面自動配置注(zhu)冊中的(de)AutoConfig類,它(ta)替(ti)代了(le)@Configuration,只有自動配置類才能使(shi)用。你還可以通(tong)過(guo)其 after、afterNames、before、beforeNames 屬性(xing)代替(ti) @AutoConfigureAfter和(he)@AutoConfigureBefore。
國際化
- 另外,如果使用在starter包中使用國際化功能,可以在resources/i18n文件夾,添加
messages_zh_CN.properties來實現,其中zh_CN表示中文,你可以定義其它語言,注意在配置中,中文需要傳成unicode字符。
例如:
sys.user.update.passwordError=\u539F\u5BC6\u7801\u9519\u8BEF\uFF0C\u4FEE\u6539\u5931\u8D25
sys.user.query.error=\u83B7\u53D6\u5F53\u524D\u7528\u6237\u4FE1\u606F\u5931\u8D25
通過MessageSource對象來獲取最終(zhong)的配置信息,它與當前語言環境(jing)有關(guan),中英文可(ke)以(yi)自動(dong)切換的,自己可(ke)以(yi)封裝一下Message的對象,方(fang)便以(yi)后使用(yong)它
@UtilityClass
public class MsgUtils {
/**
* 通過code 獲取中文錯誤信息
* @param code
* @return
*/
public String getMessage(String code) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, null, Locale.CHINA);
}
/**
* 通過code 和參數獲取中文錯誤信息
* @param code
* @return
*/
public String getMessage(String code, Object... objects) {
MessageSource messageSource = SpringUtil.getBean("messageSource");
return messageSource.getMessage(code, objects, Locale.CHINA);
}
}
- 使用
SYS_PARAM_DELETE_SYSTEM="sys.user.query.error";
String fail=MsgUtils.getMessage(ErrorCodes.SYS_PARAM_DELETE_SYSTEM);