一文道破将bean注入到Spring中的几种方式

这篇具有很好参考价值的文章主要介绍了一文道破将bean注入到Spring中的几种方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

前两天有学妹问我如何将bean注入到Spring中,虽问题较简单,但还是写此文以告之。

在Java的Spring框架中,将bean注入到容器中是核心概念之一,这是实现依赖注入的基础。Spring提供了多种方式来将bean注入到容器中。

写此文,同时也希望这篇文章能帮助到各位路过的大佬。

一文道破将bean注入到Spring中的几种方式,秋招总结&小白入坑Java,spring,java,后端

通过XML配置文件注入Bean

在早期版本的Spring中,XML配置是主要的配置方式。我们可以在XML文件中定义bean及其属性。

举个栗子:

我们现在有一个简单的Person类:

public class Person {  
    private String name;  
    private int age;  
      
    // 此处1构造方法、setter、getter省略  
}

我们可以创建一个Spring的XML配置文件(xiaoweiApplicationContext.xml),并在其中定义Person bean:

xml
<beans xmlns="http://www.springframework.org/schema/beans"  
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans   
       http://www.springframework.org/schema/beans/spring-beans.xsd">  
      
    <bean id="person" class="com.example.Person">  
        <property name="name" value="John"/>  
        <property name="age" value="25"/>  
    </bean>  
</beans>

然后,我们可以使用ApplicationContext来加载这个配置文件,并获取bean:

ApplicationContext context = new ClassPathXmlApplicationContext("xiaoweiApplicationContext.xml");  
Person person = (Person) context.getBean("person");

通过注解注入Bean

随着Spring的发展,注解逐渐成为了主流的配置方式。通过使用@Component、@Service、@Repository和@Controller等注解,我们可以轻松地将bean注入到Spring容器中。

继续使用上面的Person类,我们只需要在类上加上@Component注解:

@Component("person")  
public class Person {  
    // ... 类的其它代码 ...  
}

然后,我们需要在Spring的配置中开启组件扫描,以便Spring能够自动发现并注册这些bean:

xml
<context:component-scan base-package="com.example"/>

或者如果我们使用Java配置:

@Configuration  
@ComponentScan(basePackages = "com.example")  
public class AppConfig { }

通过Java配置注入Bean

除了XML和注解,我们还可以使用Java类来配置和注入bean。这通常通过使用@Configuration和@Bean注解来完成。

创建一个Java配置类,并使用@Bean注解来定义Person bean:

@Configuration  
public class AppConfig {  
    @Bean(name = "person")  
    public Person person() {  
        Person person = new Person();  
        person.setName("John");  
        person.setAge(25);  
        return person;  
    }  
}

然后,我们可以使用AnnotationConfigApplicationContext来加载这个Java配置:

ApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);  
Person person = (Person) context.getBean("person");

几种配置对比

  • XML配置:虽然XML配置相对繁琐(并不是一般的繁琐,狗头保命),但它提供了清晰的分离和配置的可视化。对于大型项目或需要复杂配置的场景,XML仍然是一个可行的选择。然而,对于大多数现代应用,包括公司的项目,XML配置可能显得过于冗长。
  • 注解配置:注解提供了一种简洁并且侵入性较小的方式来配置bean。通过使用注解,我们可以减少样板代码和XML文件的数量。这是现代Spring应用中最常用的方法。
  • Java配置:Java配置提供了与XML相似的灵活性,但使用纯Java代码。这对于那些更喜欢编程方式而不是声明式配置的人来说是一个好选择。Java配置还允许你在配置中使用更强大的类型安全和重构工具支持。

文章到这里就先结束了,感兴趣的可以订阅专栏哈,后续会继续分享相关的知识点。

一文道破将bean注入到Spring中的几种方式,秋招总结&amp;小白入坑Java,spring,java,后端文章来源地址https://www.toymoban.com/news/detail-851612.html

到了这里,关于一文道破将bean注入到Spring中的几种方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 35、解释一下spring支持的几种bean的作用域

    singleton: 默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。该对象的生命周期是与Spring IOC容器一致的 (但在第一次被注入时才会创建)。 prototype:为每一个bean请求提供一个实例。在每次注入时都会创建一个新的对象· request: bean被定义为在每个HTTP请求中

    2024年02月16日
    浏览(41)
  • JAVA开发(通过Apollo注入配置信息的几种方式)

    在springCloud中有一个重要的组件就是配置中心,config:server,用于配置springboot中需要注入的各种配置项。但是现在发现越来越多的企业使用Apollo进行集成。博主在开发中也是使用Apollo进行配置。本文总结Apollo的的使用,集成到springboot,和注入方式等。   Apollo是携程框架部门研

    2024年02月09日
    浏览(65)
  • 将Bean注入Spring容器的五种方式

    将bean放入Spring容器中有哪些方式? 我们知道平时在开发中使用Spring的时候,都是将对象交由Spring去管理,那么将一个对象加入到Spring容器中,有哪些方式呢,下面我就来总结一下 这种方式其实也是我们最常用的一种方式,@Configuration用来声明一个配置类,然后使用 @Bean 注解

    2024年02月05日
    浏览(32)
  • 4.3---Spring框架之Spring中bean的注入方式---(深入版本)

    Spring基于xml注入bean的几种方式: set()方法注入; 2.构造器注入:①通过index设置参数的位置;②通过type设置参数类型; 静态工厂注入; 实例工厂; Spring IOC注入方式用得最多的是(1)(2)种; 注意:通过Spring创建的对象默认是单例的,如果需要创建多实例对象可以在标签后面添

    2023年04月10日
    浏览(40)
  • 一文道破Java中的深拷贝,浅拷贝,零拷贝

    在Java编写代码中,对象的拷贝是一个常见的操作。根据拷贝的层次和方式不同,可以分为深拷贝、浅拷贝和零拷贝。本篇文章我们将详细介绍这三种拷贝方式的概念、实现方法以及使用场景,方便大佬学习及面试。 深拷贝是一种创建对象副本的方法,其中新对象与原始对象

    2024年02月04日
    浏览(34)
  • spring(1):基于XML获取Bean对象以及各种依赖注入方式

    1.1 根据id获取 1.2 根据类型获取 1.3 根据id和类型获取 注意: 当根据类型获取bean时,要求IOC容器中指定类型的bean有且只能有一个。 例如以下XML文件,当IOC容器中一共配置了两个,根据类型获取时会抛出异常。 根据类型来获取bean时,在满足bean唯一性的前提下,其实只是看:

    2024年01月25日
    浏览(44)
  • 一文带你了解Spring中存入Bean和获取Bean的方式

    上图中就是五大类注解对应的层,通过源码可以看到其他四个注解都基于@Conponent Spring既然是一个包含众多工具方法的IoC容器,它是一个控制反转的容器,所以就需要将Bean对象存入到容器中,需要用的时候从容器中获取Bean对象,下面我们来介绍下存入Bean对象。 配置了 Bean 的

    2024年02月16日
    浏览(40)
  • 【Spring】基于注解方式存取JavaBean:Spring有几种注入方式?有什么区别?

     Hello,我是小黄。众所周知,Spring是一个开源的Java应用程序框架,其中包括许多通过注解实现依赖注入的功能。Spring提供了多种注入方式,可以满足不同的需求和场景。常见的注入方式包括构造函数注入、Setter方法注入和属性注入。不同的注入方式有不同的适用场景和优缺

    2024年02月11日
    浏览(39)
  • spring boot 权限管理的几种方式

    Spring Boot 提供了多种权限管理方式,以下是几种常见的方法,以及相应的示例: 基于角色的访问控制(Role-Based Access Control,RBAC) 在基于角色的访问控制中,权限分配给角色,然后将角色分配给用户。这种方法简化了权限管理,因为您只需要管理角色和用户之间的关系。 示

    2024年02月15日
    浏览(46)
  • 前端技术中的几种居中方式

    1、使用margin:0px auto可以使盒子水平居中,但要设置宽度。 2、在父元素中使用text-align:center可以将子元素设置水平居中,但子元素必须为行内元素或行内块元素。 3、使用绝对定位,父相子绝的原则,在子元素中设置left:50%和transform:translateX(-50%)。可以不设置宽高。       这里

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包