使用spring从内部类创建bean

时间:2015-11-20 15:18:32

标签: spring

我试图在下面定义一个类。 Spring没有实例化bean。

    @Component
    public class A{
        @Component
        public class B{
         }
     }

有没有办法让Spring像上面那样创建bean。

1 个答案:

答案 0 :(得分:3)

我不这么认为,因为没有封闭的类,内部类不能存在。因此只能注入封闭的Bean。

From Spring documentations:

  

内部bean定义不需要定义的id或名称;容器忽略这些值。它也忽略了范围标志。内部bean总是匿名的,它们总是使用外部bean创建。除了封闭bean之外,不可能将内部bean注入协作bean。

我认为这只适用于static内部类,而不适用于not-static inner类。

这应该有效:

    @Component
    public class A{
        @Component
        public static class B{
         }
     }