Commit f5ef87094d7a88a2e8d2c452f738bdec698a012e

Authored by YunaiV
1 parent 92ace031

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

Showing 28 changed files with 30 additions and 27 deletions
yudao-framework/yudao-spring-boot-starter-banner/src/main/java/cn/iocoder/yudao/framework/banner/config/YudaoBannerAutoConfiguration.java
@@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration; @@ -9,7 +9,7 @@ import org.springframework.context.annotation.Configuration;
9 * 9 *
10 * @author 芋道源码 10 * @author 芋道源码
11 */ 11 */
12 -@Configuration 12 +@Configuration(proxyBeanMethods = false)
13 public class YudaoBannerAutoConfiguration { 13 public class YudaoBannerAutoConfiguration {
14 14
15 @Bean 15 @Bean
yudao-framework/yudao-spring-boot-starter-biz-dict/src/main/java/cn/iocoder/yudao/framework/dict/config/YudaoDictAutoConfiguration.java
@@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.system.api.dict.DictDataApi; @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.system.api.dict.DictDataApi;
5 import org.springframework.context.annotation.Bean; 5 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration; 6 import org.springframework.context.annotation.Configuration;
7 7
8 -@Configuration 8 +@Configuration(proxyBeanMethods = false)
9 public class YudaoDictAutoConfiguration { 9 public class YudaoDictAutoConfiguration {
10 10
11 @Bean 11 @Bean
yudao-framework/yudao-spring-boot-starter-biz-error-code/src/main/java/cn/iocoder/yudao/framework/errorcode/config/YudaoErrorCodeConfiguration.java
@@ -17,7 +17,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @@ -17,7 +17,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
17 * 17 *
18 * @author 芋道源码 18 * @author 芋道源码
19 */ 19 */
20 -@Configuration 20 +@Configuration(proxyBeanMethods = false)
21 @ConditionalOnProperty(prefix = "yudao.error-code", value = "enable", matchIfMissing = true) // 允许使用 yudao.error-code.enable=false 禁用访问日志 21 @ConditionalOnProperty(prefix = "yudao.error-code", value = "enable", matchIfMissing = true) // 允许使用 yudao.error-code.enable=false 禁用访问日志
22 @EnableConfigurationProperties(ErrorCodeProperties.class) 22 @EnableConfigurationProperties(ErrorCodeProperties.class)
23 @EnableScheduling // 开启调度任务的功能,因为 ErrorCodeRemoteLoader 通过定时刷新错误码 23 @EnableScheduling // 开启调度任务的功能,因为 ErrorCodeRemoteLoader 通过定时刷新错误码
yudao-framework/yudao-spring-boot-starter-biz-operatelog/src/main/java/cn/iocoder/yudao/framework/operatelog/config/YudaoOperateLogAutoConfiguration.java
@@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.api.logger.OperateLogApi; @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.api.logger.OperateLogApi;
7 import org.springframework.context.annotation.Bean; 7 import org.springframework.context.annotation.Bean;
8 import org.springframework.context.annotation.Configuration; 8 import org.springframework.context.annotation.Configuration;
9 9
10 -@Configuration 10 +@Configuration(proxyBeanMethods = false)
11 public class YudaoOperateLogAutoConfiguration { 11 public class YudaoOperateLogAutoConfiguration {
12 12
13 @Bean 13 @Bean
yudao-framework/yudao-spring-boot-starter-biz-pay/src/main/java/cn/iocoder/yudao/framework/pay/config/YudaoPayAutoConfiguration.java
@@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration; @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration;
11 * 11 *
12 * @author 芋道源码 12 * @author 芋道源码
13 */ 13 */
14 -@Configuration 14 +@Configuration(proxyBeanMethods = false)
15 @EnableConfigurationProperties(PayProperties.class) 15 @EnableConfigurationProperties(PayProperties.class)
16 public class YudaoPayAutoConfiguration { 16 public class YudaoPayAutoConfiguration {
17 17
yudao-framework/yudao-spring-boot-starter-biz-sms/src/main/java/cn/iocoder/yudao/framework/sms/config/YudaoSmsAutoConfiguration.java
@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration; @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
10 * 10 *
11 * @author 芋道源码 11 * @author 芋道源码
12 */ 12 */
13 -@Configuration 13 +@Configuration(proxyBeanMethods = false)
14 public class YudaoSmsAutoConfiguration { 14 public class YudaoSmsAutoConfiguration {
15 15
16 @Bean 16 @Bean
yudao-framework/yudao-spring-boot-starter-biz-social/src/main/java/cn/iocoder/yudao/framework/social/config/YudaoSocialAutoConfiguration.java
@@ -19,7 +19,7 @@ import org.springframework.context.annotation.Primary; @@ -19,7 +19,7 @@ import org.springframework.context.annotation.Primary;
19 * @date 2021-10-30 19 * @date 2021-10-30
20 */ 20 */
21 @Slf4j 21 @Slf4j
22 -@Configuration 22 +@Configuration(proxyBeanMethods = false)
23 @EnableConfigurationProperties(JustAuthProperties.class) 23 @EnableConfigurationProperties(JustAuthProperties.class)
24 public class YudaoSocialAutoConfiguration { 24 public class YudaoSocialAutoConfiguration {
25 25
yudao-framework/yudao-spring-boot-starter-biz-tenant/src/main/java/cn/iocoder/yudao/framework/tenant/config/YudaoTenantAutoConfiguration.java
@@ -35,7 +35,7 @@ import org.springframework.data.redis.core.RedisTemplate; @@ -35,7 +35,7 @@ import org.springframework.data.redis.core.RedisTemplate;
35 35
36 import java.util.Objects; 36 import java.util.Objects;
37 37
38 -@Configuration 38 +@Configuration(proxyBeanMethods = false)
39 @ConditionalOnProperty(prefix = "yudao.tenant", value = "enable", matchIfMissing = true) // 允许使用 yudao.tenant.enable=false 禁用多租户 39 @ConditionalOnProperty(prefix = "yudao.tenant", value = "enable", matchIfMissing = true) // 允许使用 yudao.tenant.enable=false 禁用多租户
40 @EnableConfigurationProperties(TenantProperties.class) 40 @EnableConfigurationProperties(TenantProperties.class)
41 public class YudaoTenantAutoConfiguration { 41 public class YudaoTenantAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-captcha/src/main/java/cn/iocoder/yudao/framework/captcha/config/YudaoCaptchaConfiguration.java
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean; @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
8 import org.springframework.context.annotation.Configuration; 8 import org.springframework.context.annotation.Configuration;
9 import org.springframework.data.redis.core.StringRedisTemplate; 9 import org.springframework.data.redis.core.StringRedisTemplate;
10 10
11 -@Configuration 11 +@Configuration(proxyBeanMethods = false)
12 public class YudaoCaptchaConfiguration { 12 public class YudaoCaptchaConfiguration {
13 13
14 static { 14 static {
yudao-framework/yudao-spring-boot-starter-file/src/main/java/cn/iocoder/yudao/framework/file/config/YudaoFileAutoConfiguration.java
@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration; @@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
10 * 10 *
11 * @author 芋道源码 11 * @author 芋道源码
12 */ 12 */
13 -@Configuration 13 +@Configuration(proxyBeanMethods = false)
14 public class YudaoFileAutoConfiguration { 14 public class YudaoFileAutoConfiguration {
15 15
16 @Bean 16 @Bean
yudao-framework/yudao-spring-boot-starter-flowable/src/main/java/cn/iocoder/yudao/framework/flowable/config/YudaoFlowableConfiguration.java
@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration; @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Configuration;
8 import org.springframework.core.task.AsyncListenableTaskExecutor; 8 import org.springframework.core.task.AsyncListenableTaskExecutor;
9 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; 9 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
10 10
11 -@Configuration 11 +@Configuration(proxyBeanMethods = false)
12 public class YudaoFlowableConfiguration { 12 public class YudaoFlowableConfiguration {
13 13
14 /** 14 /**
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoAsyncAutoConfiguration.java
@@ -11,7 +11,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; @@ -11,7 +11,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
11 /** 11 /**
12 * 异步任务 Configuration 12 * 异步任务 Configuration
13 */ 13 */
14 -@Configuration 14 +@Configuration(proxyBeanMethods = false)
15 @EnableAsync 15 @EnableAsync
16 public class YudaoAsyncAutoConfiguration { 16 public class YudaoAsyncAutoConfiguration {
17 17
yudao-framework/yudao-spring-boot-starter-job/src/main/java/cn/iocoder/yudao/framework/quartz/config/YudaoQuartzAutoConfiguration.java
@@ -9,7 +9,7 @@ import org.springframework.scheduling.annotation.EnableScheduling; @@ -9,7 +9,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
9 /** 9 /**
10 * 定时任务 Configuration 10 * 定时任务 Configuration
11 */ 11 */
12 -@Configuration 12 +@Configuration(proxyBeanMethods = false)
13 @EnableScheduling // 开启 Spring 自带的定时任务 13 @EnableScheduling // 开启 Spring 自带的定时任务
14 public class YudaoQuartzAutoConfiguration { 14 public class YudaoQuartzAutoConfiguration {
15 15
yudao-framework/yudao-spring-boot-starter-monitor/src/main/java/cn/iocoder/yudao/framework/tracer/config/YudaoMetricsAutoConfiguration.java
@@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration; @@ -13,7 +13,7 @@ import org.springframework.context.annotation.Configuration;
13 * 13 *
14 * @author 芋道源码 14 * @author 芋道源码
15 */ 15 */
16 -@Configuration 16 +@Configuration(proxyBeanMethods = false)
17 @ConditionalOnClass({MeterRegistryCustomizer.class}) 17 @ConditionalOnClass({MeterRegistryCustomizer.class})
18 @ConditionalOnProperty(prefix = "yudao.metrics", value = "enable", matchIfMissing = true) // 允许使用 yudao.metrics.enable=false 禁用 Metrics 18 @ConditionalOnProperty(prefix = "yudao.metrics", value = "enable", matchIfMissing = true) // 允许使用 yudao.metrics.enable=false 禁用 Metrics
19 public class YudaoMetricsAutoConfiguration { 19 public class YudaoMetricsAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-monitor/src/main/java/cn/iocoder/yudao/framework/tracer/config/YudaoTracerAutoConfiguration.java
@@ -15,7 +15,7 @@ import org.springframework.context.annotation.Configuration; @@ -15,7 +15,7 @@ import org.springframework.context.annotation.Configuration;
15 * 15 *
16 * @author mashu 16 * @author mashu
17 */ 17 */
18 -@Configuration 18 +@Configuration(proxyBeanMethods = false)
19 @ConditionalOnClass({BizTraceAspect.class}) 19 @ConditionalOnClass({BizTraceAspect.class})
20 @EnableConfigurationProperties(TracerProperties.class) 20 @EnableConfigurationProperties(TracerProperties.class)
21 @ConditionalOnProperty(prefix = "yudao.tracer", value = "enable", matchIfMissing = true) 21 @ConditionalOnProperty(prefix = "yudao.tracer", value = "enable", matchIfMissing = true)
yudao-framework/yudao-spring-boot-starter-mq/src/main/java/cn/iocoder/yudao/framework/mq/config/YudaoMQAutoConfiguration.java
@@ -34,7 +34,7 @@ import java.util.Properties; @@ -34,7 +34,7 @@ import java.util.Properties;
34 * 34 *
35 * @author 芋道源码 35 * @author 芋道源码
36 */ 36 */
37 -@Configuration 37 +@Configuration(proxyBeanMethods = false)
38 @AutoConfigureAfter(YudaoRedisAutoConfiguration.class) 38 @AutoConfigureAfter(YudaoRedisAutoConfiguration.class)
39 @Slf4j 39 @Slf4j
40 public class YudaoMQAutoConfiguration { 40 public class YudaoMQAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/datasource/config/YudaoDataSourceAutoConfiguration.java
@@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement; @@ -14,7 +14,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
14 * 14 *
15 * @author 芋道源码 15 * @author 芋道源码
16 */ 16 */
17 -@Configuration 17 +@Configuration(proxyBeanMethods = false)
18 @EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理 18 @EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理
19 @EnableConfigurationProperties(DruidStatProperties.class) 19 @EnableConfigurationProperties(DruidStatProperties.class)
20 public class YudaoDataSourceAutoConfiguration { 20 public class YudaoDataSourceAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/YudaoMybatisAutoConfiguration.java
@@ -23,7 +23,7 @@ import org.springframework.core.env.ConfigurableEnvironment; @@ -23,7 +23,7 @@ import org.springframework.core.env.ConfigurableEnvironment;
23 * 23 *
24 * @author 芋道源码 24 * @author 芋道源码
25 */ 25 */
26 -@Configuration 26 +@Configuration(proxyBeanMethods = false)
27 @MapperScan(value = "${yudao.info.base-package}", annotationClass = Mapper.class, 27 @MapperScan(value = "${yudao.info.base-package}", annotationClass = Mapper.class,
28 lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载,目前仅用于单元测试 28 lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载,目前仅用于单元测试
29 public class YudaoMybatisAutoConfiguration { 29 public class YudaoMybatisAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-protection/src/main/java/cn/iocoder/yudao/framework/lock4j/config/YudaoLock4jConfiguration.java
@@ -8,7 +8,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore; @@ -8,7 +8,7 @@ import org.springframework.boot.autoconfigure.AutoConfigureBefore;
8 import org.springframework.context.annotation.Bean; 8 import org.springframework.context.annotation.Bean;
9 import org.springframework.context.annotation.Configuration; 9 import org.springframework.context.annotation.Configuration;
10 10
11 -@Configuration 11 +@Configuration(proxyBeanMethods = false)
12 @AutoConfigureBefore(LockAutoConfiguration.class) 12 @AutoConfigureBefore(LockAutoConfiguration.class)
13 public class YudaoLock4jConfiguration { 13 public class YudaoLock4jConfiguration {
14 14
yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoCacheAutoConfiguration.java
@@ -13,7 +13,7 @@ import org.springframework.data.redis.serializer.RedisSerializer; @@ -13,7 +13,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
13 /** 13 /**
14 * Cache 配置类,基于 Redis 实现 14 * Cache 配置类,基于 Redis 实现
15 */ 15 */
16 -@Configuration 16 +@Configuration(proxyBeanMethods = false)
17 @EnableConfigurationProperties({CacheProperties.class}) 17 @EnableConfigurationProperties({CacheProperties.class})
18 @EnableCaching 18 @EnableCaching
19 public class YudaoCacheAutoConfiguration { 19 public class YudaoCacheAutoConfiguration {
yudao-framework/yudao-spring-boot-starter-redis/src/main/java/cn/iocoder/yudao/framework/redis/config/YudaoRedisAutoConfiguration.java
@@ -9,7 +9,7 @@ import org.springframework.data.redis.serializer.RedisSerializer; @@ -9,7 +9,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
9 /** 9 /**
10 * Redis 配置类 10 * Redis 配置类
11 */ 11 */
12 -@Configuration 12 +@Configuration(proxyBeanMethods = false)
13 public class YudaoRedisAutoConfiguration { 13 public class YudaoRedisAutoConfiguration {
14 14
15 /** 15 /**
yudao-framework/yudao-spring-boot-starter-security/src/main/java/cn/iocoder/yudao/framework/security/config/YudaoWebSecurityConfigurerAdapter.java
@@ -32,7 +32,7 @@ import java.util.Set; @@ -32,7 +32,7 @@ import java.util.Set;
32 * 32 *
33 * @author 芋道源码 33 * @author 芋道源码
34 */ 34 */
35 -@Configuration 35 +@Configuration(proxyBeanMethods = false)
36 @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true) 36 @EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
37 public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { 37 public class YudaoWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
38 38
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/apilog/config/YudaoApiLogAutoConfiguration.java
@@ -19,7 +19,7 @@ import org.springframework.context.annotation.Configuration; @@ -19,7 +19,7 @@ import org.springframework.context.annotation.Configuration;
19 19
20 import javax.servlet.Filter; 20 import javax.servlet.Filter;
21 21
22 -@Configuration 22 +@Configuration(proxyBeanMethods = false)
23 @AutoConfigureAfter(YudaoWebAutoConfiguration.class) 23 @AutoConfigureAfter(YudaoWebAutoConfiguration.class)
24 public class YudaoApiLogAutoConfiguration { 24 public class YudaoApiLogAutoConfiguration {
25 25
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/jackson/config/YudaoJacksonAutoConfiguration.java
@@ -13,8 +13,8 @@ import org.springframework.context.annotation.Configuration; @@ -13,8 +13,8 @@ import org.springframework.context.annotation.Configuration;
13 13
14 import java.time.LocalDateTime; 14 import java.time.LocalDateTime;
15 15
  16 +@Configuration(proxyBeanMethods = false)
16 @Slf4j 17 @Slf4j
17 -@Configuration  
18 public class YudaoJacksonAutoConfiguration { 18 public class YudaoJacksonAutoConfiguration {
19 19
20 @Bean 20 @Bean
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/swagger/config/YudaoSwaggerAutoConfiguration.java
@@ -29,7 +29,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka @@ -29,7 +29,7 @@ import static springfox.documentation.builders.RequestHandlerSelectors.basePacka
29 * 29 *
30 * @author 芋道源码 30 * @author 芋道源码
31 */ 31 */
32 -@Configuration 32 +@Configuration(proxyBeanMethods = false)
33 @EnableSwagger2 33 @EnableSwagger2
34 @EnableKnife4j 34 @EnableKnife4j
35 @ConditionalOnClass({Docket.class, ApiInfoBuilder.class}) 35 @ConditionalOnClass({Docket.class, ApiInfoBuilder.class})
yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java
@@ -26,7 +26,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @@ -26,7 +26,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
26 import javax.annotation.Resource; 26 import javax.annotation.Resource;
27 import javax.servlet.Filter; 27 import javax.servlet.Filter;
28 28
29 -@Configuration 29 +@Configuration(proxyBeanMethods = false)
30 @EnableConfigurationProperties({WebProperties.class, XssProperties.class}) 30 @EnableConfigurationProperties({WebProperties.class, XssProperties.class})
31 public class YudaoWebAutoConfiguration implements WebMvcConfigurer { 31 public class YudaoWebAutoConfiguration implements WebMvcConfigurer {
32 32
yudao-module-mall/yudao-module-trade-biz/src/main/java/cn/iocoder/yudao/module/trade/controller/app/order/AppTradeOrderController.java
@@ -60,7 +60,7 @@ public class AppTradeOrderController { @@ -60,7 +60,7 @@ public class AppTradeOrderController {
60 60
61 @GetMapping("/get") 61 @GetMapping("/get")
62 @ApiOperation("获得交易订单") 62 @ApiOperation("获得交易订单")
63 - @ApiImplicitParam(name = "tradeOrderId", value = "交易订单编号", required = true) 63 + @ApiImplicitParam(name = "tradeOrderId", value = "交易订单编号", required = true, dataTypeClass = Long.class)
64 public CommonResult<TradeOrderRespVO> getTradeOrder(@RequestParam("tradeOrderId") Integer tradeOrderId) { 64 public CommonResult<TradeOrderRespVO> getTradeOrder(@RequestParam("tradeOrderId") Integer tradeOrderId) {
65 // return success(tradeOrderService.getTradeOrder(tradeOrderId)); 65 // return success(tradeOrderService.getTradeOrder(tradeOrderId));
66 return null; 66 return null;
yudao-server/src/main/java/cn/iocoder/yudao/server/YudaoServerApplication.java
@@ -22,6 +22,9 @@ public class YudaoServerApplication { @@ -22,6 +22,9 @@ public class YudaoServerApplication {
22 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 22 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章
23 23
24 SpringApplication.run(YudaoServerApplication.class, args); 24 SpringApplication.run(YudaoServerApplication.class, args);
  25 +// new SpringApplicationBuilder(YudaoServerApplication.class)
  26 +// .applicationStartup(new BufferingApplicationStartup(20480))
  27 +// .run(args);
25 28
26 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 29 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章
27 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章 30 // 如果你碰到启动的问题,请认真阅读 https://doc.iocoder.cn/quick-start/ 文章