zoukankan      html  css  js  c++  java
  • Spring简介

    Spring是一个分层的JavaEE/SE的一站式轻量级开源框架。

    一、Spring简介

    Spring的结构如下图所示:
    在这里插入图片描述

    Spring核心概念介绍:

    • Spring容器:就是IoC容器。Ioc容器就是BeanFactory工厂(DefaultListableBeanFactory)。BeanFactory有一个子接口叫ApplicationContext(应用上下文接口)。

    • IoC(核心):Inverse of Control,控制反转。即对象的创建由Spring框架进行。

    • DI:Dependency Injection,依赖注入。在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件中。

    • AOP:Aspect Oriented Programming,面向切面编程。在不修改目标对象的源代码情况下,增强IoC容器中Bean的功能。

      • 面向切面编程,是一种编程思想,有很多的实现:AspectJ、Spring AOP、Spring 整合了AspectJ。

      • AOP的主要作用:横向抽取重复代码,实现代码的重用(事务、日志监控等)。

        • 纵向抽取(继承)

        在这里插入图片描述

        • 横向抽取(AOP)

        在这里插入图片描述

    二、Spring 入口

    所谓的spring入口,指的就是如何启动spring容器。

    1、 基于XML

    • Java应用

      ApplicationContext ctx = new ClasspathXmlApplicationContext("spring.xml");
      
    • web应用

      web.xml

      <context-param>
      	<param-name>contextConfigLocation</param-name>
      	<param-value>classpath:spring.xml</param-value>
      </context-param>
      <listener>
      	<listener-class>
      		ContextLoaderListener
      	</listener-class>
      </listener>
      

      ContextLoaderListener监听器中,会去调用getWebApplicationContext()—> AbstractApplicationContext()

    2、基于注解

    • Java应用

      ApplicationContext ctx = new AnnotationConfigApplicationContext(@Configuration配置类);
      
    • web应用

      web.xml

      <context-param>
      	<param-name>contextConfigLocation</param-name>
      	<param-value>@Configuration配置类</param-value>
      </context-param>
      <listener>
      	<listener-class>
      		ContextLoaderListener
      	</listener-class>
      </listener>
      

      ContextLoaderListener监听器中,会去调用getWebApplicationContext()—> AbstractApplicationContext()

      getWebApplicationContext得到的默认实现类AnnotationConfigWebApplicationContext

  • 相关阅读:
    线程池原理分析(一)-线程池体系结构
    LinkedBlockingQueue原理分析
    ArrayBlockingQueue原理分析(二)-迭代器
    ArrayBlockingQueue原理分析(一)
    ConcurrentHashMap原理分析(二)-扩容
    ConcurrentHashMap原理分析(一)-综述
    CyclicBarrier原理分析
    Jmeter集合点技术
    Jmeter关联技术
    JMeter参数化
  • 原文地址:https://www.cnblogs.com/liuyi6/p/10159564.html
Copyright © 2011-2022 走看看