zoukankan      html  css  js  c++  java
  • Configuration类的@Value属性值为null

    今天写的Configuration类的@Value属性值为null

    @Configuration
    public class MybatisConfigurer {
        @Value("${spring.datasource.url}")
        private String dbUrl;
        @Value("${spring.datasource.username}")
        private String username;
        @Value("${spring.datasource.password}")
        private String password;
        @Value("${spring.datasource.driver-class-name}")
        private String driverClassName;
        ……
        @Bean
        public MapperScannerConfigurer mapperScannerConfigurer() {
            MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer();
            mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactoryBean");
            mapperScannerConfigurer.setBasePackage("com.abc.devide.demo.mapper");
            //配置通用Mapper,详情请查阅官方文档
            Properties properties = new Properties();
            properties.setProperty("mappers", MAPPER_INTERFACE_REFERENCE);
            properties.setProperty("notEmpty", "false");//insert、update是否判断字符串类型!='' 即 test="str != null"表达式内是否追加 and str != ''
            properties.setProperty("IDENTITY", "MYSQL");
            mapperScannerConfigurer.setProperties(properties);
    
            return mapperScannerConfigurer;
        }
    
    }

    问题的原因:

      MapperScannerConfigurer实现了BeanDefinitionRegistryPostProcessor使得spring容器的执行的一些顺序问题,引起了上述@Value属性不能注入

    解决方法:

      将MapperScannerConfigurer单独放在一个@Configuration类下

  • 相关阅读:
    redhat yum ISO 本地源
    md5sum的使用
    查看进程内存使用情况
    常见User-Agent大全
    aggregate和annotate使用
    Django logging配置
    Django 开发调试工具:Django-debug-toolbar
    浏览器的同源策略及跨域解决方案
    Python contenttypes组件
    Dajngo admin
  • 原文地址:https://www.cnblogs.com/baby123/p/11937571.html
Copyright © 2011-2022 走看看