zoukankan      html  css  js  c++  java
  • Spring源码阅读(一)

    Spring通过配置文件或者注解对类实例进行加载管理。稍微思考,可以猜测spring加载过程肯定先把配置转化为统一的配置对象,再把通过配置对象生产类实例。阅读源码,我们也可以发现这个逻辑。

    spring配置对象类结构

    spring实例生产工厂类结构

    spring bean生产简单例子

    例子中我们简单的使用AnnotatedGenericBeanDefinition读取spring注解配置,DefaultListableBeanFactory生产类实例。

    package com.coshaho.learn.spring;
    
    import org.springframework.beans.factory.annotation.AnnotatedGenericBeanDefinition;
    import org.springframework.beans.factory.support.DefaultListableBeanFactory;
    import org.springframework.stereotype.Component;
    
    /**
     * 
     * Spring注解读取.java Create on 2017年10月16日 下午11:07:02    
     *    
     * 类功能说明:   spring小例子
     *
     * Copyright: Copyright(c) 2013 
     * Company: COSHAHO
     * @Version 1.0
     * @Author coshaho
     */
    @Component("coshaho")
    public class Spring注解读取 
    {
        public void sayHello()
        {
            System.out.println("Hello, Spring.");
        }
        
        public static void main(String[] args) throws Exception 
        {
            // 读取spring配置
            AnnotatedGenericBeanDefinition beanDefinition=new AnnotatedGenericBeanDefinition(Spring注解读取.class);
            System.out.println(beanDefinition.getMetadata().getAnnotationTypes());
            System.out.println(beanDefinition.isSingleton());
            System.out.println(beanDefinition.getBeanClassName()); 
            
            // 创建一个BeanFactory
            DefaultListableBeanFactory factory = new DefaultListableBeanFactory();
            
            // 加载配置
            factory.registerBeanDefinition("coshaho", beanDefinition);
            
            // 生产实例
            Spring注解读取 spring = (Spring注解读取) factory.getBean("coshaho");
            spring.sayHello();
        }
    }
    [org.springframework.stereotype.Component]
    true
    com.coshaho.learn.spring.Spring注解读取
    Hello, Spring.
  • 相关阅读:
    开发者和设计师:为何我们不能好好相处?(转载)
    PHP ACCESS
    来自腾讯的session跨域,跨服代码
    php大括号妙用。
    php mysql 记录集的操作
    开始我的代码笔记
    收藏一个php用的一个页码按钮类
    修改过后的数字英文字符生成图片代码
    搜藏一点php session 常用方法
    php包含漏洞收集程序代码
  • 原文地址:https://www.cnblogs.com/coshaho/p/7679499.html
Copyright © 2011-2022 走看看