《SpringBoot揭秘 快速构建微服务体系》读后感(一)

《SpringBoot揭秘 快速构建微服务体系》读后感(一)

 

 

 

 

SpringIOC

IOC有两种方式:一种是DI,另一种是DL,即Dependency Lookup(依赖查找)。前者是当前软件实体被动接受其依赖的其他组件被IoC容器注入,而后者则是当前软件实体主动去某个服务注册地查找其依赖的那些服务

一个典型的代码片段:

public class App {
    public static void main(String[] args) {
        ApplicationContext context = new FileSystemXmlApplicationContext("...");
        //...
        MockService service = context.getBean(MockService.class);   
        service.doSomething();
    }
}
context.getBean()实际上是DL的工作,而构建的任何一种IOC容器背后(比如BeanFactory或ApplicationContext)发生的事情,更多的是DI的过程

Spring IOC容器的依赖注入工作可以分为两个阶段:
第一阶段:收集注册
       第一个阶段可以认为是构建和收集bean定义的阶段,在这个阶段中,我们可以通过XML或者Java代码的方式定义一些bean,然后通过手动组装或者让容器基于某些机制自动扫描的形式,将这些bean定义收集到Ioc容器中。
    
        假设我们以XML配置形式来收集并注册单一bean,一般形式如下:
       <bean id = “mockService” class="...mockServiceImpl">
        ...
        </bean>
     如果想批量收集并注册到IOc容器中,可以通过XML Shema形式的配置进行批量扫描:
    <context:component-scan base-package="com...">
第二阶段:分析和组装

如今注解的方式比较盛行

 
   

 JAVAConfig

(1)表达形式层面

基于xml配置方式是这样的:

而基于javaConfig的配置方式是这样的:

任何标注了@Configuration的java类定义都是一个JavaConfig配置类

(2)注册bean定义层面

基于XML的配置形式是这样的

而基于javaConfig的配置方式是这样的:

任何一个标注了@Bean的方法,其返回值将作为一个bean定义注册到Spring的IOC容器,方法名将默认成为该bean定义的id

 (3)表达依赖注入关系层面

基于XML的配置形式是这样的

而基于javaConfig的配置方式是这样的:

如果一个bean的定义依赖其他bean,则直接调用对应JavaConfig类中依赖的bean的创建方法就可以了

Annotation

1、@CompoentScan

2、@PropertySource与@PropertySources

 

 3、@Import 与@ImportResource

 

posted on 2017-11-20 15:42 Michael2397 阅读(...) 评论(...) 编辑 收藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值