Spring 的 bean 注入方式小结(生成bean方式)

目录

1、目的:

2、简单方式

3、复杂方式

3.1@Import 方式

3.2@Import 结合 ImportSelector 接口

3.3@import结合ImportBeanDefinitionRegistrar接口

3.4@importResource 结合配置文件  classpath:spring-jdbc-zx-lsq.xml


 

1、目的:


阅读本文之后对于springboot中导入bean所有方式有一个整体的理解

2、简单方式


@bean @Component@Controller@Service等

@Configuration
public class ConfigurationTest {
    @Bean
    public ValueTest getValueTest() {
        return new ValueTest();
    }
}

下图显示了什么时候被@bean注解标记的方法会被处理,完整的图片地址在文末。

3、复杂方式

3.1@Import 方式

package com.defire.other;

public class ImportTest {
    public String  primm(){
        System.out.println(11111);
        return "primm";
    }
}
package com.defire.other;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ImportTest.class})
public class ImportConfigurationTest {

}

只需要使用@Import({ImportTest.class})即可轻松引入各种bean。springboot这种情况使用

下图显示了在整个spring体现中@import注解什么时候生效,完整的图片地址在文末。

3.2@Import 结合 ImportSelector 接口


public class ImportSeletorTest implements ImportSelector {

    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        String[] arr =  new String[1];
        arr[0]="com.yeahka.demo.other.ValueTest";
        return arr;
    }

}
@Configuration
@Import({ImportSeletorTest.class})
public class ConfigurationTest {

}

 

3.3@import结合ImportBeanDefinitionRegistrar接口

package com.yeahka.demo.otherBean;
public class HelloService {
    public String test(){
        return toString();
    }
}

@RestController
public class TestController {

    @Autowired
    ImportAnnotationTest import
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值