zoukankan      html  css  js  c++  java
  • 解锁Spring框架姿势1

    Spring

    介绍:Spring 框架是一个Java平台,它为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此您可以专注于应用程序的开发。
    Spring可以让您从“plain old Java objects”(POJO)中构建应用程序和通过非侵入性的POJO实现企业应用服务。此功能适用于Java SE的编程模型,全部的或部分的适应Java EE模型。

    Ioc(依赖注入)

    1、 What:以前创建对象需要自己主动去new,比较费劲,ioc模式提供ioc service provider,解决了被注入对象依赖被依赖对象问题,减低了耦合。
    2、 依赖注入方式
    a) 构造器注入
    b) Setter注入
    c) 接口注入,接口注入侵入性强,使用比较少

    Ioc两个主要容器

    Beanfactory容器(接口)

    //The root interface for accessing a Spring bean container.
    //访问Spring bean容器的根接口。
    public interface BeanFactory {
        String FACTORY_BEAN_PREFIX = "&";
    
    	//返回指定bean的实例,该实例可以是共享的或独立的。
        Object getBean(String var1) throws BeansException;
    
    	//返回指定bean的实例,该实例可以是共享的或独立的。
        <T> T getBean(String var1, Class<T> var2) throws BeansException;
    
    	//返回指定bean的实例,该实例可以是共享的或独立的。
        <T> T getBean(Class<T> var1) throws BeansException;
    
    	//返回指定bean的实例,该实例可以是共享的或独立的。
        Object getBean(String var1, Object... var2) throws BeansException;
    
    	//返回指定bean的实例,该实例可以是共享的或独立的。
        <T> T getBean(Class<T> var1, Object... var2) throws BeansException;
    	
    	//此bean工厂是否包含具有给定名称的bean定义或外部注册的singleton 实例?
        boolean containsBean(String var1);
    
    	//这个bean是一个共享的单例吗?
        boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;
    	
    	//这ben是原型吗?也就是说,{@link #getBean}总会返回独立实例吗?
        boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;
    
    	//检查具有给定名称的bean是否与指定的类型匹配。
        boolean isTypeMatch(String var1, ResolvableType var2) throws NoSuchBeanDefinitionException;
    
    	//检查具有给定名称的bean是否与指定的类型匹配。
        boolean isTypeMatch(String var1, Class<?> var2) throws NoSuchBeanDefinitionException;
    
    	//确定具有给定名称的bean的类型。更具体地说,*确定{@link #getBean}将为给定名称返回的对象类型
        Class<?> getType(String var1) throws NoSuchBeanDefinitionException;
    	
    	//返回给定bean名称的别名(如果有)。 *在{@link #getBean}调用中使用时,所有这些别名都指向同一个bean。
        String[] getAliases(String var1);
    }
    
    
    

    Applicationcontext容器(接口)

    public interface ApplicationContext extends EnvironmentCapable, 
    ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver {
       
    	//返回此应用程序上下文的唯一ID。
    	String getId();
    	
    	//返回此上下文所属的已部署应用程序的名称。
        String getApplicationName();
    
    	//返回此上下文的友好名称
        String getDisplayName();
    
    	//首次加载此上下文时返回时间戳。
        long getStartupDate();
    
    	//返回父上下文,如果没有父,则返回{@code null},这是上下文层次结构的根。
        ApplicationContext getParent();
    
    	//为此上下文公开AutowireCapableBeanFactory功能。
        AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException;
    }
    
    
    
    


    由继承关系可以看出Applicationcontext容器功能强于Beanfactory容器

    参考:

    http://ifeve.com/overview-getting-started-with-spring/

  • 相关阅读:
    浅谈表单同步提交和异步提交
    springboot多数据源&动态数据源(主从)
    MyBatis 中 @Param 注解的四种使用场景,最后一种经常被人忽略!
    手把手带你入门 Spring Security!
    10分钟了解JSON Web令牌(JWT)
    什么是Http无状态?Session、Cookie、Token三者之间的区别
    彻底理解cookie,session,token的区别
    56.合并区间(面试遇到的一道算法题,简述解法)
    C#object
    职称考试整理
  • 原文地址:https://www.cnblogs.com/chenzhuantou/p/10346397.html
Copyright © 2011-2022 走看看