Java程序员最常见的SpringBoot有那些组件注册方式?
很多程序员在开发的过程中都可能会遇到SpringBoot组件注册这个问题,那么SpringBoot到底有那些组件注册方式呢?
今天主要就来和大家分享这个SpringBoot组件注册的几种方式,希望可以帮大家快速解决当下的这个难题。
传统的XML+@ImportResource【案例demo2】
项目包结构
├─java
│ └─com
│ └─example
│ └─demo2
│ │ Demo2Application.java
│ │
│ └─entity
│ Stu.java
│
└─resources
application.properties
beans.xml
project.text
beans.xml (配置文件)
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
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
br/>@SpringBootApplication
@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.优势:可以指定XML文件,用于以前的项目迁移
2.问题:XML配置冗余复杂,现在都是基于注解和JDKConfig
3.拓展:IDEA中的Beans查看显示图标为
转发+关注后私信我回复【架构资料】即可免费领取全套架构师学习资料