问答详情
源自:4-5 Spring Bean装配之基于Java的容器注解说明——@Bean

关于@Bean的疑问

上一节课中,配置文件读取的也是spring-beanannotation.xml。xml中并没有<bean / >,并且没有用到@Bean,依然可以getBean()获取对象。应该怎么理解这个地方?

提问者:HenryT 2016-01-06 11:57

个回答

  • Lydoo
    2016-08-26 11:50:38

    我是这样理解的:两种配置方法,一种使用xml 包括属性注入构造函数注入等等,一种就是使用注解配置,在xml里面

    <context:component-scan base-package=""/>

    spring会扫描包下面的注解,包括@Service,@Respository,@Compinent等等,通过各个注解的规则,进行装配。在配合@Configration使用@Bean的时候,貌似是通过CGLIB实现的,我第一次执行我的程序的时候,缺少CGLIB,当使用@Component代替@Configuration的时候不需要通过CGLIB也可以得到Bean实例。

  • gao634209276
    2016-04-08 15:05:13

    之前注解都是在类上面注解比如@Service,@Respository,@Compinent。直接getBean("bean name")就可以获取。

    这个的@Bean注解的是方法,而且方法是要必须有返回值的。通过getBean(“方法名”)后获取的是返回的类实例

  • 涅槃ing
    2016-01-24 21:22:38

    因为用注解了吧

  • 产品经理不是经理
    2016-01-06 12:02:08

    应该是内置的对象吧(不确定),你该去查查文档,问问百度。