Spring初识01

学习目标:

认识Spring


前言


一、Spring是什么?

Spring就是一个开源应用框架,主要功能为了降低应用程序开发的复杂度。

  • Spring可以做什么
    • MicroServices(微服务)
    • Reactive(反应式编程)
    • Cloud(云)
    • Serverless(无服务架构)
    • Even Driven(事件驱动)
    • Batch(批处理)

二、介绍

1.依赖注入(IOC)

Spring框架的核心就是Spring容器。容器创建对象,将这些Bean对象装配在一起,配置他们并且管理他们的完整生命周期。Spring容器使用依赖注入来管理组成应用程序的组件。容器通过读取提供的配置元数据来接收对象并进行实例化,配置和组装的指令。
该元数据可以通过XML,Java注解,Java代码来提供

在Spring中,因为依赖注入的存在,所以程序员不必要手动创建对象,但是必须描述如何创建他们。(也就是不需要在代码中将服务和组件去连接,而是在描述文件中配置那些组件需要那些服务),最后通过IOC容器将其组装起来。

  • 依赖注入的方式

    1. 构造函数注入
    2. setter注入
    3. 接口注入
      在Spring Framework中,仅仅使用构造函数和setter注入
  • Spring中的IOC容器

    1. BeanFactory:BeanFactory就是一个包含Bean集合的工厂类,会在客户端要求时实例化Bean
    2. ApplicationContext:ApplicationContext接口扩展了BeanFactory接口。它在BeanFactory基础上提供了一些额外功能
      BeanFactory使用的是懒加载,而ApplicationContext使用的是即时加载,
  • Spring IOC的实现原理就是:通过工厂模式+反射机制

1.Spring Bean

  • Spring Bean的概念
    1. 他们是构成用户应用程序主干的对象
    2. Bean由Spring IOC容器管理
    3. 他们由Spring IOC容器实例化,配置,装配和管理
    4. Bean是基于用户提供给容器的配置元数据创建
  • Spring提供那些Bean配置方式
    1. 基于XML配置
    <bean id="test" class="com.example.Test>
    	<property name="name” value ="测试"/>
    </bean>
    
    1. 基于注解配置
      因为默认情况下Spring是未打开注解功能,所以需要在配置文件中增加
    	<beans>
    		<context:annotation-config />
    	</beans>
    
    1. 基于 Java API配置
      Spring的java配置是通过Bean和**@Configuration**来实现

       1、@Bean注解扮演与<Bean/>元素相同的角色
       2、@Configuration类允许通过简单调用同一个类中的其他@Bean来定义bean之间的依赖关系
      
    @Configuration
    public class TestConfig{
    	@Bean
    	public Test myTest(){
    		return new Test();
    	}
    }
    	```
    
    

2.Spring支持的Bean的Scope

  • Singleton:每个Spring ICO容器中仅有一个单实例
  • Prototype:每次请求都会产生一个新的实例
  • Request:每一次HTTP请求都会产生一个新的实例,并且该bean仅在当前HTTP请求内有效
  • Session:每一次HTTP请求都会产生一个新的bean,并且尽在当前Http Session内有效
  • Global-session:如果在web中使用bean,则web会自动当前session来使用

只有用户使用支持web的ApplicationContext时,最后三个才可用


2.Spring AOP(面向切面编程)

面向切面编程是一种编程技术,允许程序模块化横向切割关注点,或横切典型的责任划分,如日志和事务管理

1.切面(Aspect)

AOP核心就是切面,将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能。比如:一个日志模块可以被称作日志的AOP切面。根据需要的不同,一个应用程序可以有若干个切面。在Spring AOP中,切面通常带有@Aspect注解的类实现

2.通知方式

  • before:前置通知,在一个方法执行前被调用
  • after:在方法执行之后调用的通知,无论方法执行是否成功
  • after-returning:仅当方法成功完成后执行的通知
  • after-throwing:在方法抛出异常退出时执行的通知
  • around:在方法执行之前和之后调用的通知

BeanFactory和FactoryBean的理解

  • BeanFactory:BeanFactory是Bean工厂,也就是Bean容器,主要定义了获取bean以及bean的各种属性

  • FactoryBean:工厂Bean,主要职责是Spring提供共给用户的一种实例化bean的方式,

在Spring中实例化Bean的方式有
1、通过反射利用获取bean的class属性,通过class属性实例化具体的bean
2、通过配置文件来实例化

总结

提示:这里对文章进行总结:


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值