• -- 记录 -- 问题记录


    thymeleaf不能渲染问题

    发现叶子模板的文件根本没有被渲染就直接输出到流量器

    如果渲染过后的话应该是不会显示红框内容的
    发现原因:
    没有将html放置templates中。

    在springboot中其他静态文件路径是不会被thymeleaf渲染的,只有放置指定的路径

    从spring boot配置文件中读取一个Map结构数据

    配置文件
    map.properties

    com.hjh.map[status]=123
    com.hjh.map[message]=xxx
    

    map实例

    MyMap.java

    @Component
    @ConfigurationProperties(prefix = "com.hjh")
    @PropertySource("classpath:map.properties")
    public class MyMap {
    
        public Map<String, String> map;
    
        public Map<String, String> getMap() {
            return map;
        }
    
        public void setMap(Map<String, String> map) {
            this.map = map;
        }
    }
    

    提供getset

    这样就可以使用@Autowrite获得map了

    springboot包的命名引发的问题。

    SpringBoot项目的Bean装配默认规则是根据项目入口文件(Application)类所在的包位置从上往下扫描! 
    例如。Application类所在包为com.hjh。则只会扫描com.hjh包和其子包。

    可以使用@ComponentScan指定要扫描的包以及要扫描的类。

    场景一

    springboot中无法注入Bean

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'xxx: Unsatisfied dependency expressed through field 'xxx': No qualifying bean of type [xxx] found for dependency [xxx]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [xxx] found for dependency [com.example.repositories.UserRepository]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
    

    原因:
    注入bean的类跳出了项目入口文件(Application)的包范围,没有被扫描到。

    场景二

    在springboot多模块下。项目运行模块,无法获得某个模块的配置,或者Bean。

    也可能是入口文件和其他项目的包名问题。
    要确保要注入的对象有被扫描到、

  • 相关阅读:
    valgrind试用笔记
    《c++ primer》3.5 array 小结
    《c++ primer》chap8 The IO library 小结
    《c++ primer》3.4 迭代器(iterator)
    《c++ primer》3.1 声明命名空间 小结
    c++ 流格式控制符
    《c++ primer》3.3 vector 类型小结
    《c++ primer》3.2 string 小结
    Ubuntu 管理相关小知识(不定期更新)
    shell 脚本 生成文件,文件名为日期时间
  • 原文地址:https://www.cnblogs.com/hjh614/p/11376662.html
Copyright © 2020-2023  润新知