zoukankan      html  css  js  c++  java
  • Spring中用@Component、@Repository、@Service和 @Controller等标注的默认Bean名称会是小写开头的非限定类名

    今天用调度平台去调用bean中的方法时,提示找不到bean。经查,发现是由于如果在标注上没有提供name属性值,则默认的bean名称是小写开头的,而不是大写开头的。

    下面是其他文档参阅:

    使用过滤器自定义扫描 <context:component-scan base-package="org.example">
    spring开发手册中这样写:
    3.12.4. 自动检测组件的命名

    当一个组件在某个扫描过程中被自动检测到时,会根据那个扫描器的BeanNameGenerator 策略生成它的bean名称。默认情况下,任何包含 name值的Spring“典型”注解 (@Component、@Repository、 @Service和@Controller) 会把那个名字 提供给相关的bean定义。如果这个注解不包含name值或是其他检测到的组件 (比如被自定义过滤器发现的),默认bean名称生成器会返回小写开头的非限定(non-qualified)类名。 例如,如果发现了下面这两个组件,它们的名字会是'myMovieLister'和'movieFinderImpl':

    @Service("myMovieLister")
    public class SimpleMovieLister {
        // ...
    }

    @Repository
    public class MovieFinderImpl implements MovieFinder {
        // ...
    }

    《参考文档》

    1.http://bbs.csdn.net/topics/350149265

    2.http://blog.csdn.net/yi3040/article/details/6447289

  • 相关阅读:
    TLE: poj 1011 Sticks
    UVa 116 Unidirectional TSP
    csuoj 1215 稳定排序
    UVa 103 Stacking Boxes
    UVa 147 Dollars
    UVa 111 History Grading
    怎么在ASP.NET 2.0中使用Membership
    asp.net中如何删除cookie?
    ASP.NET中的HTTP模块和处理程序[收藏]
    NET开发中的一些小技巧
  • 原文地址:https://www.cnblogs.com/tanglc/p/3908583.html
Copyright © 2011-2022 走看看