spring学习

一.spring框架结构

 

二.srping两大特性

(1)IOC(控制反转):原先手动创建对象(new对象)的控制权交由spring框架来管理,只需从spring容器中获取需要的对象,不关心对象的创建过程。

DI(依赖注入):在spring创建对象的过程中,将对象依赖属性通过配置设置给该对象。

(2)AOP(面向切面编程):将功能分为核心业务功能(如登录、数据操作)和周边功能(如日志、事务管理),周边功能一般被定义为切面。减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。

三.springIoc容器

IOC 容器具有依赖注入功能的容器,它可以创建对象,IOC 容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

(1)BeanFactory容器:最简单的容器,给 DI 提供了基本的支持,它用org.springframework.beans.factory.BeanFactory 接口来定义。

(2)ApplicationContext容器:添加了更多的企业特定的功能,包括 BeanFactory 容器的所有功能,由 org.springframework.context.ApplicationContext 接口定义。

四.SpringBean

bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象。

当一个 bean 的作用域为 Prototype,表示一个 bean 定义对应多个对象实例。Prototype 作用域的 bean 会导致在每次对该 bean 请求(将其注入到另一个 bean 中,或者以程序的方式调用容器的 getBean() 方法)时都会创建一个新的 bean 实例。Prototype 是原型类型,它在我们创建容器的时候并没有实例化,而是当我们获取bean的时候才会去创建一个对象,而且我们每次获取到的对象都不是同一个对象。根据经验,对有状态的 bean 应该使用 prototype 作用域,而对无状态的bean则应该使用 singleton 作用域。

Bean的生命周期可以表达为:Bean的定义——Bean的初始化——Bean的使用——Bean的销毁

五.spring基于注解的配置

(1)@Required 注解应用于 bean 属性的 setter 方法,它表明受影响的 bean 属性在配置时必须放在 XML 配置文件中,否则容器就会抛出一个 BeanInitializationException 异常。

(2)@Autowired 自动装配,将 Spring 容器中的 bean 自动的和我们需要这个 bean 的类组装在一起。

(3)@Qualifier 当创建多个具有相同类型的 bean 时,并且想要用一个属性只为它们其中的一个进行装配,在这种情况下,可以使用 @Qualifier 注释和 @Autowired 注释通过指定哪一个真正的 bean 将会被装配来消除争议。

(4)@Configuration 和 @Bean 注解

带有 @Configuration 的注解类表示这个类可以使用 Spring IoC 容器作为 bean 定义的来源。@Bean 注解告诉 Spring,一个带有 @Bean 的注解方法将返回一个对象,该对象应该被注册为在 Spring 应用程序上下文中的 bean。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值