商讯信箱
用户名: @
密  码:   注册|忘记密码
登录
个人用户经销商
您的位置:首页 > 技术频道 > 正文

    5. Bean的依赖设置
    装配一个Bean,最简单的方法就是java提供的构造函数
@Bean(scope=DefaultScopes.PROTOTYPE) public UserInfo userInfo(){ UserInfo user = new UserInfo(); user.setName(name()); return user; } @Bean(scope=DefaultScopes.SINGLETON) public String name(){ String name = "jack"; return name; }
    Bean之间依赖的设置通过bean的方法名来进行设置,并不是通过bean名称。
    Name()方法被@Bean注释后,它的Bean名称是name,但是在userInfo方法,来设置name属性是仍然需要使用方法名name(),而不是bean名称name.

    当使用@Bean标记后,Bean都会由Spring容器进行管理。UserInfo声明为prototype,而name声明为singleton.
ApplicationContext context = new AnnotationApplicationContext(VisibilityConfiguration.class.getName()); UserInfo user = (UserInfo)context.getBean("userInfo"); UserInfo user2 =(UserInfo)context.getBean("userInfo"); System.out.println(user == user2); String name = (String)context.getBean("name"); String name2 = (String)context.getBean("name"); System.out.println(name == name2);
    输出结果:
    false
    true

可见,被@Bean标记后,每次从ApplicationContext中获得的userInfo的对象都不是同一个对象。而每次获得的name的对象都是同一个对象。
1 2 3 4 5 6 7 8 9 10 11 12
【内容导航】
第1页: 第1页 第2页: 第2页
第3页: 第3页 第4页: 第4页
第5页: 第5页 第6页: 第6页
第7页: 第7页 第8页: 第8页
第9页: 第9页 第10页: 第10页
第11页: 第11页 第12页: 第12页
©版权所有。未经许可,不得转载。
[责任编辑:赵恒]