笔者生产中,遇到
2017-05-16 08:47:22.020 WARN 1910 --- [localhost-startStop-1] o.s.c.a.ConfigurationClassPostProcessor : Cannot enhance @Configuration bean definition 'myBatisMapperScannerConfig' since its singleton instance has been created too early. The typical cause is a non-static @Bean method with a BeanDefinitionRegistryPostProcessor return type: Consider declaring such methods as 'static'. 2017-05-16 08:47:22.487 WARN 1910 --- [localhost-startStop-1] o.s.c.a.ConfigurationClassEnhancer : @Bean method Application.initOcc is non-static and returns an object assignable to Spring's BeanFactoryPostProcessor interface. This will result in a failure to process annotations such as @Autowired, @Resource and @PostConstruct within the method's declaring @Configuration class. Add the 'static' modifier to this method to avoid these container lifecycle issues; see @Bean javadoc for complete details.
MapperScannerConfigurer和PropertyPlaceholderConfigurer
之类的Bean必须要标记为static方法,以示优先加载。否则会给出警告。
代码:
import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; import org.mybatis.spring.mapper.MapperScannerConfigurer; import org.springframework.boot.autoconfigure.AutoConfigureAfter; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * * @author liuzh * @since 2015-12-19 14:46 */ @Configuration //TODO 注意,由于MapperScannerConfigurer执行的比较早,所以必须有下面的注解 @AutoConfigureAfter(MybatisAutoConfiguration.class) public class MyBatisMapperScannerConfig { @Bean(name = "mapperScannerConfigurer") public static MapperScannerConfigurer mapperScannerConfigurer() { MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactorys"); mapperScannerConfigurer.setBasePackage("com.odianyun.swift.chae.alarm.mapper"); return mapperScannerConfigurer; } }
@Bean(name="occConfigure") public static OccPropertyPlaceholderConfigurer initOcc(){ OccPropertyPlaceholderConfigurer opc = new OccPropertyPlaceholderConfigurer(); opc.setPool("chae"); return opc; }
相关推荐
在Spring框架中,bean的默认行为是在应用启动时创建并初始化。然而,有时我们希望某些bean在实际需要时才进行初始化,这就是所谓的“懒加载”(Lazy Initialization)。Spring Boot 2.2及更高版本引入了一个全局懒...
这种可视化功能对于调试和维护定时任务非常有帮助,尤其是在处理复杂的调度逻辑时。 【HTTPClient作为调度接口】 在项目中,调度接口使用了HTTPClient,这是一种常见的HTTP客户端库,可以用于发起HTTP请求。这意味...
1. **SpringBoot**:SpringBoot是Spring框架的扩展,它简化了Spring应用程序的初始搭建和配置工作。通过"约定优于配置"的原则,SpringBoot可以快速创建独立运行的应用程序,并内置了Tomcat服务器,使得开发和部署...
在IT行业中,SpringBoot是一个非常流行的Java开发框架,它简化了Spring应用的初始化和配置过程。本教程将重点讲解SpringBoot中的日志处理,这对于任何应用程序的调试和监控至关重要。日志可以帮助开发者追踪代码执行...
3. 加载所有带有@Configuration的类,进行Bean的定义和初始化。 4. 执行SpringApplicationRunListeners的各个方法,如应用程序的初始化、环境准备等。 5. 执行ApplicationRunner或CommandLineRunner接口的run方法,...
spring-boot-db初始化测试 测试用例,显示未初始化数据库以进行测试的错误 该项目包含一个测试,该测试查询内存中的h2数据库以确保其不为空 $ mvn test ... 2014-10-14 10:10:21.409 WARN 3435 --- [ main] o.s.b.a....
SpringBoot会查找类路径下的`logback-spring.xml`或`logback.xml`文件来初始化Logback。在这个例子中,我们关注`logback.xml`。以下是一个示例配置,展示了如何设置不同日志级别和日志归档: ```xml ...
springboot简单案例,主方法 //@EnableScheduling // 定时器扫描 已经在MyScheduleConfig类上,这里可以不写了 @EnableAsync // 异步执行 与 @Async 一起用 @EnableCaching // 缓存 @ServletComponentScan // 扫描...
SpringBoot是Java开发中的一个流行框架,它简化了Spring应用的初始搭建以及开发过程。这个压缩包"springboot注解的应用.rar"显然包含了关于SpringBoot中注解使用、自动配置、全局配置和日志管理等方面的知识点。让...
SpringBoot是Java开发中的一个流行框架,主要用于简化Spring应用程序的初始搭建以及开发过程。这个"SpringBoot(入门篇)资料.rar"压缩包包含了几个关键的学习资源,帮助初学者快速掌握SpringBoot的基础知识。 1. *...
SpringBoot是由Pivotal团队提供的全新框架,旨在简化Spring应用的初始搭建以及开发过程。它预设了许多默认配置,使得开发者可以快速地启动和运行项目,而无需过多关注配置细节。 2. **JUnit介绍**: JUnit是Java...
SpringBoot是Java开发中的一个流行框架,它简化了Spring应用的初始搭建以及开发过程。其中,日志配置是每个应用程序必不可少的部分,它帮助开发者跟踪、调试和分析程序运行时的行为。在SpringBoot中,日志系统是高度...
例如,可以设置不同的日志级别(DEBUG、INFO、WARN 等)给不同的包或类,也可以配置日志输出到文件、控制台或远程服务器。 4. **微服务架构**: 微服务架构是一种将单一应用程序分解为一组小型、独立的服务的开发...
要解决这个问题,你需要在每个需要用到日志的类中,通过以下方式获取logger实例: ```java import org.apache.log4j.Logger; private static final Logger log = Logger.getLogger(MyClass.class); ``` 这里的`...
在SpringBoot应用中,日志记录是至关重要的,它帮助开发者追踪程序运行状态,调试问题,以及记录系统事件。Log4j和Log4j2是两种广泛使用的Java日志框架,它们提供了灵活的日志配置和高性能的日志处理能力。本文将...
本文将深入探讨如何配置SpringBoot的Logback以满足不同日志需求。 首先,我们来看`logback-spring.xml`这个文件。它是Logback的日志配置文件,通过XML格式定义了日志的级别、输出位置、格式等。Spring Boot推荐使用...
在SpringBoot应用中,日志记录是至关重要的一个部分,它可以帮助开发者跟踪应用程序的运行状态、定位错误和调试代码。本篇文章将深入探讨如何在SpringBoot项目中集成日志记录功能,以实现高效的日志管理和分析。 ...
本文将详细介绍如何在Spring Boot项目中整合Log4j2,以实现更精细化的日志管理和监控。 首先,理解Log4j2相较于Log4j的优势。Log4j2不仅继承了Log4j的优秀特性,还引入了许多改进,如异步日志记录提高性能、动态...
首先,SpringBoot是一个由Pivotal团队开发的Java框架,它简化了Spring应用的初始搭建以及开发过程。SpringBoot的特点在于“约定优于配置”,提供了默认的配置,使得开发者可以快速启动项目,减少了大量配置工作。 1...
SpringBoot中的日志处理是一个非常重要的功能,它可以帮助开发者跟踪程序状态、定位错误,并且对系统性能进行监控。Logback是SpringBoot推荐的日志框架,由log4j的作者开发,具有更高的性能和更丰富的配置选项。在...