美文网首页程序员
Java程序员最常见的SpringBoot有那些组件注册方式?

Java程序员最常见的SpringBoot有那些组件注册方式?

作者: 是阿胖胖吖 | 来源:发表于2020-02-27 14:55 被阅读0次

    Java程序员最常见的SpringBoot有那些组件注册方式?

    很多程序员在开发的过程中都可能会遇到SpringBoot组件注册这个问题,那么SpringBoot到底有那些组件注册方式呢?

    今天主要就来和大家分享这个SpringBoot组件注册的几种方式,希望可以帮大家快速解决当下的这个难题。

     

    传统的XML+@ImportResource【案例demo2】

    [if !supportLists]· [endif]项目包结构

    ├─java

    │  └─com

    │      └─example

    │          └─demo2

    │              │  Demo2Application.java

    │              │  

    │              └─entity

    │                      Stu.java

    │                      

    └─resources

            application.properties

            beans.xml

            project.text

    [if !supportLists]· [endif]beans.xml (配置文件)

    <?xml version="1.0" encoding="UTF-8"?>

    <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">

        <!--id用来标识bean,是唯一的,且只有一个;name定义的是bean的alias,可以有多个,并可能与其他的bean重名。-->

        <!--如果id和name都没有指定,则用类全名作为name-->

        <bean id="stu" class="com.example.demo2.entity.Stu">

        </bean>    

    </beans>

    [if !supportLists]· [endif]Demo2Application(启动程序)

    package com.example.demo2;

    import com.example.demo2.entity.Stu;

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    import org.springframework.context.ConfigurableApplicationContext;

    import org.springframework.context.annotation.ImportResource;

    @SpringBootApplication

    //使用@ImportResource导入xml资源

    @ImportResource(locations = "classpath:/beans.xml")

    public class Demo2Application {

        public static void main(String[] args) {

            //使用ConfigurableApplicationContext上下文即可获取Beans

            ConfigurableApplicationContext context = SpringApplication.run(Demo2Application.class, args);

            Stu stu = context.getBean("stu", Stu.class);

            System.out.println(stu.toString());

            //context类型为org.springframework.context.annotation.AnnotationConfigApplicationContext

            System.out.println(context.getClass().getName());

            context.close();

        }

    }

    ClassPathXmlApplicationContext与ConfigurableApplicationContext的关系

    总结:

    1. [endif]优势:可以指定XML文件,用于以前的项目迁移

    2. [endif]问题:XML配置冗余复杂,现在都是基于注解和JDKConfig

    3. [endif]拓展:IDEA中的Beans查看显示图标为

    转发+关注后私信我回复【架构资料】即可免费领取全套架构师学习资料

    相关文章

      网友评论

        本文标题:Java程序员最常见的SpringBoot有那些组件注册方式?

        本文链接:https://www.haomeiwen.com/subject/xiothhtx.html