Spring容器中怎么添加组件-创新互联

今天就跟大家聊聊有关Spring容器中怎么添加组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

网站制作、建网站找专业网络公司成都创新互联:定制网站、模板网站、仿站、重庆小程序开发、软件开发、成都APP应用开发等。做网站价格咨询成都创新互联:服务完善、十年建站、值得信赖!网站制作电话:028-86922220

建个TestBean类


public class TestService {}

新建一个beans.xml,写一个service的bean配置

 

然后可以Application类里直接引用,也可以加载Configuration配置类上面

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.annotation.ImportResource;@SpringBootApplication@ImportResource(locations = {"classpath:beans.xml"})public class SpringbootPropertiesConfigApplication { public static void main(String[] args) { SpringApplication.run(SpringbootPropertiesConfigApplication.class, args); }}

Junit测试类:

import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.ApplicationContext;@SpringBootTestclass SpringbootPropertiesConfigApplicationTests { //装载ioc容器 @Autowired ApplicationContext ioc; @Test void contextLoads() { //测试这个bean是否已经加载到Spring容器 boolean flag = ioc.containsBean("testService"); System.out.println(flag); }}

经过测试,返回的是true,ok,换Springboot注解的方式实现

新建一个PropertiesConfig配置类,注意:组件的id就是方法名

import com.example.springboot.properties.service.TestService;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration //@Configuration注解实践上也是一个Componentpublic class PerpertiesConfig { //通过@Bean注解将组件添加到Spring容器,组件的id就是方法名  @Bean  public TestService testService1(){    return new TestService();  }}

Junit测试继续:

import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.context.ApplicationContext;@SpringBootTestclass SpringbootPropertiesConfigApplicationTests { @Autowired ApplicationContext ioc; @Test void contextLoads() { //传方法名testService1 boolean flag = ioc.containsBean("testService1"); System.out.println(flag); }}

Junit测试,返回的还是TRUE,如果改下name为testService就是返回FALSE的,因为组件名称就是@Bean注解对应的方法名

其实以前写Spring项目的时候,很显然也可以用@Service或者@Controller注解将组件添加到容器里,如果你去点一下源码,其实这些注解都有一个共同点就是都引入了@Component注解,而本博客介绍的@Configuration注解,本质上也是引入了@Component注解,而@Bean是没有引入的,所以,如果你只加@Bean,而不加@Configuration注解的情况,是不可以将组件添加到Spring容器的

看完上述内容,你们对Spring容器中怎么添加组件有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


文章标题:Spring容器中怎么添加组件-创新互联
网址分享:http://bzwzjz.com/article/eppsi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 成都商城网站建设 成都网站制作 外贸网站建设 成都网站制作 成都做网站建设公司 成都网站建设 高端品牌网站建设 自适应网站设计 H5网站制作 网站设计公司 重庆外贸网站建设 宜宾网站设计 四川成都网站制作 成都响应式网站建设 移动手机网站制作 成都网站制作公司 网站设计 上市集团网站建设 网站设计 成都响应式网站建设 成都定制网站建设