iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Spring注解@Configuration与@Bean注册组件如何使用
  • 277
分享到

Spring注解@Configuration与@Bean注册组件如何使用

2023-07-02 09:07:35 277人浏览 薄情痞子
摘要

今天小编给大家分享一下spring注解@Configuration与@Bean注册组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一

今天小编给大家分享一下spring注解@Configuration与@Bean注册组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

    原始Spring开发

    Person.java

    准备Person.java类:

    package com.jektong.spring;public class Person {private String name;private int age;public Person() {super();}public Person(String name, int age) {super();this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}}

    pom.xml

    在pom文件导入Spring基本依赖:

    <project xmlns="Http://Maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jektong</groupId><artifactId>maven01</artifactId><version>0.0.1-SNAPSHOT</version><name>maven01</name><description>maven01</description><dependencies><!-- https://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.12.RELEASE</version></dependency> </dependencies></project>

    bean.xml

    在没有使用Spring注解开发之前,我们通常会通过一个xml配置文件(bean.xml)去将我们需要使用的对象通过Bean的方式去注入到Spring容器中。

    下面就是将Person作为对象注入Spring容器中:

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

    PersonTest.java

    使用一个PersonTest.java测试类测试:

    package com.jektong.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class PersonTest {public static void main(String[] args) {        // 加载配置文件,此文件放在类路径下。ApplicationContext applicationContext = new ClassPathXmlApplicationContext("bean.xml");        // 获取bean.xml文件中注入的Person对象,并输出。Person bean = (Person) applicationContext.getBean("person");System.out.println(bean);}}

    输出结果如下:

    Spring注解@Configuration与@Bean注册组件如何使用

    注解Spring开发

    舍弃上面的bean.xml文件,通过注解的方式将xml文件转换成配置类,建立PersonConfig配置类:

    package com.jektong.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import com.jektong.spring.Person;@Configuration // 告诉spring这是配置类相当于配置文件bean.xmlpublic class PersonConfig {    // 这是注入到spring容器的对象ID    // 括号内指定唯一ID,不指定则是默认以方法名为唯一ID,相当于:<bean>标签中的ID值。@Bean("person01") public Person person() {return new Person("李四",21);}}

    测试使用AnnotationConfigApplicationContext类读取注解:

    package com.jektong.spring;import org.springframework.context.ApplicationContext;import org.springframework.context.annotation.AnnotationConfigApplicationContext;import com.jektong.config.PersonConfig;public class PersonTest {public static void main(String[] args) {ApplicationContext ac = new AnnotationConfigApplicationContext(PersonConfig.class);Person bean = ac.getBean(Person.class);System.out.println(bean);        // 查看BEAN的idString[] beanDefinitionNames = ac.getBeanNamesForType(Person.class);for (int i = 0; i < beanDefinitionNames.length; i++) {System.out.println("beanid为:"+ beanDefinitionNames[i]);}}}

    输出如下:

    Spring注解@Configuration与@Bean注册组件如何使用

    @Configuration与@Bean作用总结

    @Configuration

    相当于spring中的XML配置文件,将此XML文件替代成配置类,声明在类上。

    @Bean

    相当于XML文件中所配置的各个Bean对象,现声明在方法上,默认以方法名作为注入的Bean的id。

    以上就是“Spring注解@Configuration与@Bean注册组件如何使用”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

    --结束END--

    本文标题: Spring注解@Configuration与@Bean注册组件如何使用

    本文链接: https://www.lsjlt.com/news/340858.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Spring注解@Configuration与@Bean注册组件如何使用
      今天小编给大家分享一下Spring注解@Configuration与@Bean注册组件如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
      99+
      2023-07-02
    • Spring注解@Configuration与@Bean注册组件的使用详解
      目录原始Spring开发Person.javapom.xmlbean.xmlPersonTest.java注解Spring开发原始Spring开发 Person.java 准备Per...
      99+
      2024-04-02
    • SpringBoot @Configuration与@Bean注解使用介绍
      目录demo示例特点和特性之前我们都是通过xml的方式定义bean,里面会写很多bean元素,然后spring启动的时候,就会读取bean xml配置文件,然后解析这些配置,然后会将...
      99+
      2022-11-13
      SpringBoot @Configuration注解 SpringBoot @Bean注解
    • spring中@Configuration和@Bean注解的用法
      目录概要定义注意概要 @Configuration里边定义@Bean,@Configuration相当于一个xml配置文件,@Bean就是xml中的<bean/> 定义 ...
      99+
      2023-05-20
      spring @Configuration spring @Bean spring注解
    • @Bean注解和@Configuration、@Component注解组合使用的区别
      目录一、@Bean的“full”模式和“lite”模式二、两种模式的差异1、“full”模式下@Bean方法互相调用2、“lite”模式下@Bean方法互相调用三、总结 一、@Bea...
      99+
      2024-04-02
    • Spring Bean注册与注入实现方法详解
      目录1. 逻辑上的 Bean 注册2. XML 注册 Bean 到自建的库中2.1 工厂方法2.2 使用工厂方法和实例化工厂注册 Bean3. XML 配合注解进行 Bean 注册4...
      99+
      2022-11-13
      Spring Bean注册与注入 Spring Bean注册 Spring Bean注入
    • BeanDefinitionRegistryPostProcessor如何动态注册Bean到Spring
      目录1、理论2、实战代码总结下1、理论 一般如果想将类注册到spring容器,让spring来完成实例化,常用方式如下: xml中通过bean节点来配置;使用@Service、@Co...
      99+
      2024-04-02
    • vue组件component的注册与使用详解
      目录1.什么是Vue组件(1)定义(2)父子关系2.Vue组件使用(注册方式)1.局部注册(私有组件注册)2.全局注册3.使用组件的步骤:1.什么是Vue组件 (1)定义 组件是Vu...
      99+
      2022-11-13
      vue组件component vue组件注册使用
    • Spring的@Bean注解怎么使用
      今天小编给大家分享一下Spring的@Bean注解怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Spring @Be...
      99+
      2023-07-02
    • Vue组件如何注册
      这篇文章给大家分享的是有关Vue组件如何注册的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。相信在使用Vue进行项目开发的时候很多人会接触到vue组件,最常见的就是我们使用的ele...
      99+
      2024-04-02
    • vue如何注册组件
      这篇文章给大家分享的是有关vue如何注册组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。注册组件全局组件语法如下,组件模板需要使用一个根标签包裹起来。data必须是一个方法Vu...
      99+
      2024-04-02
    • Spring@Bean注解的使用场景与案例实现
      目录一、简单介绍二、注解说明1. 注解源码2. 注解使用场景三、使用案例1. 案例描述2. 案例实现新建注入到IOC容器中的User类创建Spring的配置类BeanConfig创建...
      99+
      2023-03-10
      Spring @Bean使用案例 Spring @Bean注解
    • Java 如何使用@Autowired注解自动注入bean
      Java @Autowired注解自动注入bean annotationWire.xml (一定记得配置context:annotation-config/) <?...
      99+
      2024-04-02
    • Spring IOC容器Bean注解创建对象组件扫描
      目录Spring IOC Bean注解对象组件扫描一、spring 针对 bean 管理中创建对象提供注解1. 引入依赖2. 开启组件扫描3. 创建类,并添加注解来创建对象4. 测试...
      99+
      2024-04-02
    • 详解Spring bean的注解注入之@Autowired的原理及使用
      一、@Autowired 概念: @Autowired 注释,它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,ge...
      99+
      2024-04-02
    • vue如何批量引入组件、注册和使用详解
      前言 组件是我们非常常用的东西,很多人使用组件都是通过一个一个文件去引用和注册。这篇文章就来介绍下vue批量引入组件、注册和使用的方法。 一、使用场景 在日常开发中,经常会有这样一...
      99+
      2024-04-02
    • vue如何在组件里面注册组件
      这篇文章主要介绍“vue如何在组件里面注册组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何在组件里面注册组件”文章能帮助大家解决问题。在组件内部注册组件的方式,有两种方法:通过 comp...
      99+
      2023-07-05
    • Spring @Bean注解的使用场景是什么
      本篇内容介绍了“Spring @Bean注解的使用场景是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、简单介绍翻看Spri...
      99+
      2023-07-05
    • Spring @Profile注解如何使用
      这篇文章主要介绍“Spring @Profile注解如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring @Profile注解如何使用”文章能帮助大家解决问题。使用...
      99+
      2023-07-06
    • Spring @InitBinder注解如何使用
      这篇文章主要讲解了“Spring @InitBinder注解如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring @InitBinder注解如何使用”吧!一...
      99+
      2023-07-05
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作