优化,使用 @Configuration(proxyBeanMethods = false) 提升启动速度

pull/13/MERGE
YunaiV 2022-11-12 20:27:51 +08:00
parent d87343d70c
commit bb2303e789
42 changed files with 42 additions and 43 deletions

View File

@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoBannerAutoConfiguration {
@Bean

View File

@ -17,7 +17,7 @@ import java.util.List;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoDataPermissionAutoConfiguration {
@Bean

View File

@ -16,7 +16,7 @@ import java.util.List;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(LoginUser.class)
@ConditionalOnBean(value = {PermissionApi.class, DeptDataPermissionRuleCustomizer.class})
public class YudaoDeptDataPermissionAutoConfiguration {

View File

@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoDictAutoConfiguration {
@Bean

View File

@ -17,7 +17,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(prefix = "yudao.error-code", value = "enable", matchIfMissing = true) // 允许使用 yudao.error-code.enable=false 禁用访问日志
@EnableConfigurationProperties(ErrorCodeProperties.class)
@EnableScheduling // 开启调度任务的功能,因为 ErrorCodeRemoteLoader 通过定时刷新错误码

View File

@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoOperateLogAutoConfiguration {
@Bean

View File

@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(PayProperties.class)
public class YudaoPayAutoConfiguration {

View File

@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoSmsAutoConfiguration {
@Bean

View File

@ -18,9 +18,9 @@ import org.springframework.context.annotation.Configuration;
* @author timfruit
* @date 2021-10-30
*/
@Slf4j
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(JustAuthProperties.class)
@Slf4j
public class YudaoSocialAutoConfiguration {
@Bean

View File

@ -36,7 +36,7 @@ import org.springframework.integration.config.GlobalChannelInterceptor;
import java.util.Objects;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(prefix = "yudao.tenant", value = "enable", matchIfMissing = true) // 允许使用 yudao.tenant.enable=false 禁用多租户
@EnableConfigurationProperties(TenantProperties.class)
public class YudaoTenantAutoConfiguration {

View File

@ -8,7 +8,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(prefix = "yudao.tenant", value = "enable", matchIfMissing = true) // 允许使用 yudao.tenant.enable=false 禁用多租户
@EnableFeignClients(clients = TenantApi.class) // 主要是引入相关的 API 服务
public class YudaoTenantRpcAutoConfiguration {

View File

@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.core.StringRedisTemplate;
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoCaptchaConfiguration {
static {

View File

@ -18,7 +18,7 @@ import java.util.List;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(EnvProperties.class)
public class YudaoEnvRpcAutoConfiguration {

View File

@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@EnableConfigurationProperties(EnvProperties.class)
public class YudaoEnvWebAutoConfiguration {

View File

@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoFileAutoConfiguration {
@Bean

View File

@ -6,7 +6,7 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoFlowableConfiguration {
/**

View File

@ -11,7 +11,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
/**
* Configuration
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAsync
public class YudaoAsyncAutoConfiguration {

View File

@ -16,7 +16,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(XxlJobSpringExecutor.class)
@ConditionalOnProperty(prefix = "xxl.job", name = "enabled", havingValue = "true", matchIfMissing = true)
@EnableConfigurationProperties({XxlJobProperties.class})

View File

@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({MeterRegistryCustomizer.class})
@ConditionalOnProperty(prefix = "yudao.metrics", value = "enable", matchIfMissing = true) // 允许使用 yudao.metrics.enable=false 禁用 Metrics
public class YudaoMetricsAutoConfiguration {

View File

@ -15,7 +15,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author mashu
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({BizTraceAspect.class})
@EnableConfigurationProperties(TracerProperties.class)
@ConditionalOnProperty(prefix = "yudao.tracer", value = "enable", matchIfMissing = true)

View File

@ -15,7 +15,7 @@ import java.util.List;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoMQAutoConfiguration {
/**

View File

@ -23,7 +23,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@MapperScan(value = "${yudao.info.base-package}", annotationClass = Mapper.class,
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载,目前仅用于单元测试
public class YudaoMybatisAutoConfiguration {

View File

@ -8,7 +8,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@AutoConfigureBefore(LockAutoConfiguration.class)
public class YudaoLock4jConfiguration {

View File

@ -13,7 +13,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
/**
* Cache Redis
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties({CacheProperties.class})
@EnableCaching
public class YudaoCacheAutoConfiguration {

View File

@ -9,7 +9,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
/**
* Redis
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class YudaoRedisAutoConfiguration {
/**

View File

@ -32,7 +32,7 @@ import java.util.Set;
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {

View File

@ -19,7 +19,7 @@ import org.springframework.context.annotation.Configuration;
import javax.servlet.Filter;
@Configuration
@Configuration(proxyBeanMethods = false)
@AutoConfigureAfter(YudaoWebAutoConfiguration.class)
public class YudaoApiLogAutoConfiguration {

View File

@ -13,8 +13,8 @@ import org.springframework.context.annotation.Configuration;
import java.time.LocalDateTime;
@Configuration(proxyBeanMethods = false)
@Slf4j
@Configuration
public class YudaoJacksonAutoConfiguration {
@Bean

View File

@ -29,7 +29,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka
*
* @author
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableSwagger2
@EnableKnife4j
@ConditionalOnClass({Docket.class, ApiInfoBuilder.class})

View File

@ -26,7 +26,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import javax.annotation.Resource;
import javax.servlet.Filter;
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties({WebProperties.class, XssProperties.class})
public class YudaoWebAutoConfiguration implements WebMvcConfigurer {

View File

@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration;
/**
* BPM Configuration Activiti Flowable
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class BpmCommonConfiguration {
@Bean

View File

@ -10,7 +10,7 @@ import org.springframework.security.config.annotation.web.configurers.Expression
* @author kemengkai
* @create 2022-05-07 08:15
*/
@Configuration("bpmSecurityConfiguration")
@Configuration(proxyBeanMethods = false, value = "bpmSecurityConfiguration")
public class BpmSecurityConfiguration {
@Bean("bpmAuthorizeRequestsCustomizer")

View File

@ -15,7 +15,7 @@ import org.springframework.context.annotation.Configuration;
*
* @author jason
*/
@Configuration
@Configuration(proxyBeanMethods = false)
public class BpmFlowableConfiguration {
/**

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.framework.codegen.config;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(CodegenProperties.class)
public class CodegenConfiguration {
}

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.infra.framework.monitor.config;
import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAdminServer
public class AdminServerConfiguration {
}

View File

@ -11,7 +11,7 @@ import org.springframework.security.config.annotation.web.configurers.Expression
/**
* Infra Security
*/
@Configuration("infraSecurityConfiguration")
@Configuration(proxyBeanMethods = false, value = "infraSecurityConfiguration")
public class SecurityConfiguration {
@Value("${spring.boot.admin.context-path:''}")

View File

@ -1,7 +1,6 @@
package cn.iocoder.yudao.module.system.framework.rpc.config;
import cn.iocoder.yudao.module.infra.api.file.FileApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;

View File

@ -10,7 +10,7 @@ import org.springframework.security.config.annotation.web.configurers.Expression
/**
* System Security
*/
@Configuration("systemSecurityConfiguration")
@Configuration(proxyBeanMethods = false, value = "systemSecurityConfiguration")
public class SecurityConfiguration {
@Bean("systemAuthorizeRequestsCustomizer")

View File

@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.framework.sms;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableConfigurationProperties(SmsCodeProperties.class)
public class SmsCodeConfiguration {
}

View File

@ -6,7 +6,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy;
/**
* Spring Aop
*/
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableAspectJAutoProxy(proxyTargetClass = true, exposeProxy = true)
public class AopConfiguration {
}

View File

@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@Configuration(proxyBeanMethods = false)
@MapperScan("cn.iocoder.mall.payservice.dal.mysql.mapper") // 扫描对应的 Mapper 接口
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理。
public class DatabaseConfiguration {

View File

@ -3,7 +3,7 @@ package cn.iocoder.mall.searchservice.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
@Configuration
@Configuration(proxyBeanMethods = false)
@EnableElasticsearchRepositories(basePackages = "cn.iocoder.mall.search.biz.dao")
public class ElasticsearchConfiguration {
}