Spring注册Bean的几种方式

方式一:基于XML
 <bean id="service" class="com.luo.service.ServiceImpl"></bean>
方式二:基于@Configuration、@Bean
@Configuration
public class AppConfig {

    @Bean("student")
    public Student student(){
        Student student = new Student();
        student.setAge(23);
        student.setName("luo");
        return student;
    }
}
	@Test
   public void test03(){
      ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring3.xml");
      Object appConfig = applicationContext.getBean("appConfig");
      System.out.println(appConfig);
      Object student = applicationContext.getBean("student");
      System.out.println(student);
   }

输出

"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=59883:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\IntelliJ IDEA\IntelliJ IDEA bin\rep\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\apache-maven-3.5.4-bin\rep\org\aspectj\aspectjweaver\1.9.5\aspectjweaver-1.9.5.jar;D:\apache-maven-3.5.4-bin\rep\commons-logging\commons-logging\1.2\commons-logging-1.2.jar" 
config.AppConfig$$EnhancerBySpringCGLIB$$d7523392@1d9b7cce
Student{age=23, name='luo'}

Process finished with exit code 0
方式三:AnnotationConfigApplicationContext 注册配置类(一)
@Test
   public void test02(){
      AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
      Object appConfig = ctx.getBean("appConfig");
      System.out.println(appConfig);
      Student stu = (Student) ctx.getBean("student");
      System.out.println(stu);
      ctx.close();
   }

输出

"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=59883:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\IntelliJ IDEA\IntelliJ IDEA bin\rep\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\apache-maven-3.5.4-bin\rep\org\aspectj\aspectjweaver\1.9.5\aspectjweaver-1.9.5.jar;D:\apache-maven-3.5.4-bin\rep\commons-logging\commons-logging\1.2\commons-logging-1.2.jar" 
config.AppConfig$$EnhancerBySpringCGLIB$$d7523392@1d9b7cce
Student{age=23, name='luo'}

Process finished with exit code 0
方式四:注册配置类(二)
  @Test
   public void test02(){
      AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
    
      ctx.register(Book.class);
      ctx.refresh();//必须刷新,触发容器解析注解
      Book book = (Book) ctx.getBean("book");
      System.out.println(book);
      ctx.close();
   }
public class Book {}

输出

"C:\Program Files\Java\jdk1.8.0_144\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\lib\idea_rt.jar=59883:D:\IntelliJ IDEA\IntelliJ IDEA 2018.2.4\bin" -Dfile.encoding=UTF-8 -classpath "D:\IntelliJ IDEA\IntelliJ IDEA bin\rep\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;D:\apache-maven-3.5.4-bin\rep\org\aspectj\aspectjweaver\1.9.5\aspectjweaver-1.9.5.jar;D:\apache-maven-3.5.4-bin\rep\commons-logging\commons-logging\1.2\commons-logging-1.2.jar" 
config.Book@77846d2c

Process finished with exit code 0
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

罗罗的1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值