`
weitao1026
  • 浏览: 994299 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring Java Configuration这个项目提供了一种通过java代码来装配bean

阅读更多
下面是一个典型的Spring配置文件(application-config.xml)
Xml代码  收藏代码

    <beans> 
            <bean id="orderService" class="com.acme.OrderService"/> 
                    <constructor-arg ref="orderRepository"/> 
            </bean> 
            <bean id="orderRepository" class="com.acme.OrderRepository"/> 
                    <constructor-arg ref="dataSource"/> 
            </bean> 
    </beans> 

然后你就可以像这样来使用是bean了:
Java代码  收藏代码

    ApplicationContext ctx = new ClassPathXmlApplicationContext("application-config.xml"); 
    OrderService orderService = (OrderService) ctx.getBean("orderService"); 

现在Spring Java Configuration这个项目提供了一种通过java代码来装配bean的方案:
Java代码  收藏代码

    @Configuration 
    public class ApplicationConfig { 
     
            public @Bean OrderService orderService() { 
                    return new OrderService(orderRepository()); 
            } 
     
            public @Bean OrderRepository orderRepository() { 
                    return new OrderRepository(dataSource()); 
            } 
     
            public @Bean DataSource dataSource() { 
                    // instantiate and return an new DataSource … 
            } 
    } 

然后你就可以像这样来使用是bean了:
Java代码  收藏代码

    JavaConfigApplicationContext ctx = new JavaConfigApplicationContext(ApplicationConfig.class); 
    OrderService orderService = ctx.getBean(OrderService.class); 

这么做有什么好处呢?

     1.使用纯java代码,不在需要xml

     2.在配置中也可享受OO带来的好处

     3.类型安全对重构也能提供良好的支持

     4.依旧能享受到所有springIoC容器提供的功能
分享到:
评论

相关推荐

    Spring — 基于Java类的配置 代码实例

    普通的POJO只要标注@Configuration注解,就可以为Spring容器提供Bean定义的信息了,每个标注了@Bean的类方法都相当于提供一个Bean的定义信息。 基于Java类的配置方法和基于XML或基于注解的配置方式相比,前者通过...

    让spring解决控制springboot中bean的加载顺序的问题.docx

    在此基础上,又提供了spi机制,用spring.factories可以完成一个小组件的自动装配功能。 在一般业务场景,可能你不大关心一个bean是如何被注册进spring容器的。只需要把需要注册进容器的bean声明为@Component即可,...

    华为技术专家整理Spring Boot 注解大全.docx

    使用 Java 代码可以检查类型安全。 @EnableAutoConfiguration 自动配置。 @ComponentScan 组件扫描,可自动发现和装配一些 Bean。 @Component 可配合 CommandLineRunner 使用,在程序启动后执行一些基础任务。 @...

    Spring 2.0 开发参考手册

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring JDBC包结构...

    Spring中文帮助文档

    使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...

    spring chm文档

    9.9.1. 对一个特定的 DataSource 使用错误的事务管理器 9.10. 更多的资源 10. DAO支持 10.1. 简介 10.2. 一致的异常层次 10.3. 一致的DAO支持抽象类 11. 使用JDBC进行数据访问 11.1. 简介 11.1.1. Spring ...

    Spring API

    使用@ModelAttribute提供一个从模型到数据的链接 13.12.6. 使用@SessionAttributes指定存储在会话中的属性 13.12.7. 自定义WebDataBinder初始化 13.13. 更多资源 14. 集成视图技术 14.1. 简介 14.2. JSP和...

    Java Web程序设计教程

    2.4项目实战——第一个javaee应用:helloworld 28 2.4.1开始创建第一个javaee应用 28 2.4.2熟悉helloworld框架结构 29 本章小结 32 课后练习 32 第3章jsp和servlet 33 3.1开发第一个jsp+servlet应用 33 3.1.1...

    SpringInAction:SpringInAction书籍学习

    @Configuration注解会告诉Spring这是一个配置类,会为Spring某些提供bean。 自动配置起源于自动装配(Autowiring)和组件扫描(component scan) 可以通过组件扫描,Spring可以发现路径下的组件,并创建成一体的

    springboot-autowire:学习springboot自动装配原理

    从Spring3.0,@ Configuration用于定义的配置类,可替换XML配置文件,被注解的类内部包含一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext...

    Spring IoC源码分析1

    1. bean的装配方式 1.表明当前类是一个配置类,是方法bean的源 2.将@Configuration配置的AppConfig的BeanDefinitio

    spring3.1中文参考文档

    第一部分 Spring framework概述.......................................................................................................................6 第1章 Spring Framework介绍...........................

    从J2SE到J2EE知识点介绍

    一. Java基础 5 (一). Java运行环境 5 1.eclipse的安装 5 ...6. 指定Bean引用与自动装配 276 (二) AOP 278 1. AOP简介 278 (三) Spring 3.X 新特性(JavaConfig,SpEL)简介 285 1. JavaConfig 285 2. SpEL 287

    IoC容器的设计(利用反射、注解和工厂模式实现)

    1. 利用注解、反射和工厂模式设计一个简单的IoC容器 2. 该IoC容器包含3个注解和一个IoC容器类(AnnotationConfigApplicationContext),其定义如下: 注解 含义 @Component 标注Bean @Autowired 标注需要被注入的...

    mockitobeans

    概述Mockitobeans是一个 ,通过使用Spring自己的@Autowire语法,您可以无缝地对所有bean进行自动装配。历史mockitobeans时,我一直在寻找一种方式来开始使用嘲笑说已经自动装配依赖其中有额外的自动装配Autowired的...

    史上最全 SpringBoot 注解详解

    一、注解(annotations)列表 ...组件扫描,可自动发现和装配一些Bean。 3、@Configuration 等同于Spring的XML配置文件;使用Java代码可以检查类型安全。 4、@EnableAutoConfiguration 自动配置 5、@RestContro

    Struts2属性文件详解

    如果需要实现自己的配置管理器,开发者则可以实现一个实现Configuration接口的类,该类可以自己加载Struts 2配置文件. struts.locale 指定Web应用的默认Locale. struts.i18n.encoding 指定Web应用的默认编码集.该...

    webx3框架指南PDF教程附学习Demo

    • 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级成“组件”。一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx的非常好的扩展性,且比未经扩展的Spring更易...

Global site tag (gtag.js) - Google Analytics