`
落叶留步
  • 浏览: 53870 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spring4.x中@Bean 和 @Configuration

 
阅读更多

    在spring4.x中,全面支持注解开发,可以零xml配置,确实开发方便了很多。其中有两个注解@Bean和@Configuration两个注解,经常会被用到。@Configuration用来标注配置类,就相当于以前写xml配置bean时候,所有bean标签都在xml中写,现在bean全部使用@Bean在@Configuration类中标注。简单来说@Bean就是往IOC容器中放一个bean,@Configuration就是替换xml配置文件。

    但是@Bean并不一定要放在@Configuration标注得类中,只要是spring管理的bean中,使用@Bean标注出来的bean都会被放入到IOC容器,也就是说@Component/@Service..这些类里面使用@Bean也可以往IOC容器添加bean。一般情况@Bean都是结合@Configuration一起使用,总该有点区别吧?区别就在于@Configuration中使用@Bean标注的时候,如果要引用另一个bean,可以直接调用另一个bean的生成方法,这是会从IOC中找;而在@Component引用另一个bean,如果直接写另一个bean的生成方法,就是真的调用那个方法生成一个新的bean,不是从spring的IOC容器中找。

    那么@Bean到底什么时候会用到?直接用@Component/@Service/@Repository...不就直接放到IOC容器了,好像根本不需要@Bean来多此一举。是的一般情况下确实不需要@Bean来,直接使用哪些注解就可以了,但是如果我们需要用到别的三方jar包中的类的方法的时候,就需要创建一个对象出来,就可以用这种方式了。

 

spring文档说明:

 

 

 

  • 大小: 113.7 KB
分享到:
评论

相关推荐

    spring 4.x源码方式配置spring beans

    在Spring 4.x中,源码配置主要依赖于`@Configuration`和`@Bean`注解。 `@Configuration`注解标记一个类为配置类,这个类将被Spring容器用来生成bean定义。配置类中的方法通常带有`@Bean`注解,这些方法将返回一个...

    Spring4.x官网jar文件

    10. **Spring Data增强**:Spring Data项目在Spring4.x中也有所进步,对各种数据存储的支持更加完善,如NoSQL数据库和图数据库。 总的来说,“Spring4.x官网jar文件”包含了Spring框架4.3.21.RELEASE的所有核心模块...

    @Configuration和@Bean的用法和理解.docx

    在Spring框架中,`@Configuration`和`@Bean`是非常重要的两个注解,它们被广泛应用于定义Spring容器中的Bean以及Bean的配置方式。传统的Spring配置是通过XML文件来完成的,而在现代的Java开发中,更倾向于采用基于...

    Spring3.X编程技术与应用

    在Spring3.X中,注入方式包括构造器注入、设值注入和接口注入,其中设值注入是使用最多的方式。Spring容器负责创建和管理对象的生命周期,开发者仅需通过配置文件或注解方式来声明对象及其依赖关系,容器会在运行时...

    springDemo.zip

    在Spring框架中,`@Configuration`、`@Bean` 和 `@ComponentScan` 是三个非常重要的注解,它们是Spring应用程序上下文(ApplicationContext)配置的核心元素。这些注解的使用对于理解和构建基于Java配置的Spring应用...

    Springboot @Configuration @bean注解作用解析

    Spring Boot 中 @Configuration 和 @Bean 注解的作用解析 在 Spring Boot 框架中,@Configuration 和 @Bean 是两个非常重要的注解,它们分别用于配置 Spring 容器和注册 Bean。 一、@Configuration 注解 @...

    Spring--2.Spring 中的 Bean 配置-4

    `Spring--2.Spring 中的 Bean 配置-4-2.zip`文件可能包含了使用注解的例子,如`@Component`、`@Service`、`@Repository`和`@Controller`这些组件扫描的注解,以及`@Autowired`、`@Value`等用于属性注入的注解。...

    Spring @Bean vs @Service注解区别

    例如,在上面的例子中,我们使用@Configuration和@Bean的组合来创建SearchService的Bean。这样可以让我们更好地控制Bean的创建和依赖关系。 另一方面,如果你只是需要标记一个类是业务逻辑层的类,并且不需要手动...

    Spring @Bean注解配置及使用方法解析

    在使用 @Bean 注解时,可以与 @Component 或 @Configuration 一起使用,用于注册 Bean 实例到 Spring 容器中。例如: ```java @Configuration public class MyConfigration { @Bean public User user() { return...

    spring4.x基本jar包

    在Spring 4.x中,依赖注入主要通过XML配置文件、注解或Java配置类来实现。XML配置文件是最传统的做法,通过`<bean>`标签定义和配置对象。注解方式则更简洁,例如`@Component`、`@Service`、`@Repository`和`@...

    Spring+4.x.zip

    Spring 4.x进一步推动了Java配置的使用,通过@Configuration和@Bean注解,可以在Java类中声明和管理bean,替代XML配置。 10. **Spring Boot** 虽非Spring 4.x的一部分,但Spring Boot在Spring 4.x的基础上发展,...

    Spring 3.x企业应用开发实战光盘源码(下)

    光盘源码中的`Spring 3.x企业应用开发实战.haozip02.zip`和`Spring 3.x企业应用开发实战.haozip04.zip`可能包含了书中各个章节的示例代码,包括但不限于以下主题:Spring核心、依赖注入、AOP、数据访问、Spring MVC...

    spring注解开发--Bean加载控制.zip

    在Spring框架中,注解开发已经成为了主流,极大地简化了配置和bean的管理。本教程主要探讨的是如何在Spring中通过注解来控制Bean的加载,以实现更加灵活的依赖注入和应用程序控制。我们将深入理解以下几个核心概念:...

    Spring boot将配置属性注入到bean类中

    在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...

    Spring--2.Spring 中的 Bean 配置-1

    4. **Bean的生命周期**: Spring允许我们自定义Bean的初始化和销毁方法,以及执行的顺序。在XML中,可以使用`init-method`和`destroy-method`属性指定。对于注解配置,可以使用`@PostConstruct`和`@PreDestroy`注解。...

    关于spring boot中几种注入方法的一些个人看法

    在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...

    Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00

    ### Struts1.x、Spring2.x、Hibernate3.x 和 DWR2.x 整合知识点解析 #### 一、Struts1.x与Spring2.x的整合 **1.1 在web.xml中进行Struts和Spring的配置** 为了实现Struts1.x与Spring2.x的无缝集成,首先需要在...

    Springboot 2.X中Spring-cache与redis整合

    在 Spring Boot 2.X 版本中,我们可以很方便地将 Spring Cache 与 Redis 结合,利用 Redis 的高效存储和快速访问特性来优化应用性能。 ### 1. 引入依赖 要整合 Spring Cache 和 Redis,首先我们需要在 `pom.xml` ...

    SpringBoot中必须掌握的27个注解.pdf

    4. **@Import**:它用于将非Spring管理的类导入到Spring容器中,使其变为Spring管理的bean。 5. **@ImportResource**:与@Import类似,但导入的是XML配置文件,将XML配置中的bean定义加入到Spring容器。 6. **@...

    spring 3.x source code

    在Spring 3.x中,有一些显著的更新和改进: 1. **JSR-303/JSR-349(Bean Validation)集成**:Spring 3.x引入了对Bean Validation标准的支持,允许开发者在服务层验证对象属性,提高了数据一致性。 2. **Spring ...

Global site tag (gtag.js) - Google Analytics