spring是javaEE开源的轻量级别的框架,可以解决企业开发中遇到的难题,能够让编程变得简单,核心组件IOC容器和AOP面向切面编程
介绍:::::::
Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等); Spring Core:核心类库,所有功能都依赖于该类库,提供IOC和DI服务; Spring AOP:AOP服务; Spring Web:提供了基本的面向Web的综合特性,提供对常见框架如Struts2的支持,Spring能够管理这些框架,将Spring的资源注入给框架,也能在这些框架的前后插入拦截器; Spring MVC:提供面向Web应用的Model-View-Controller,即MVC实现。 Spring DAO:对JDBC的抽象封装,简化了数据访问异常的处理,并能统一管理JDBC事务; Spring ORM:对现有的ORM框架的支持;
注解或者xml方式: bean实际上就是一个对象
加载到我们的Spring配置文件
根据bean的id获取到对象
bean的id不能重复 bean的id命名一般为类的首字母小写 class类路径
IOC容器中非常核心的接口: BeanFactory bean对象 Factory工厂
IOC容器基本概念::控制反转: 降低计算机代码的冗余度
把对象的创建对象与使用统一交给我们的Spring来进行管理 不需要开发者自己去new对象
:反射技术, 工厂模式 .解析XML
ApplicationFactory主要实现的类: ClassPathXmlApplicationContext:对应类路径下的XML格式的配置文件 FileSystemXmlApplicationContext: 对应文件系统中的xml格式的配置文件
创建对象和set注入属性
bean
标签
<bean\ id='' class=''/>
id:
不允许重复 bean id
bean
的id命名一般为类的首字母小写
class:
当前该类完整路径(类名+包名称)组合,底层使用反射技术初始化对象,默认的情况下,执行无参构造
基于XML方式注入属性
依赖注入:对象的属性注入值:(Spring实现)
注入属性要使用 set get方法
list array map
Spring 中bean的类型由两种,分别为普通Bean和工厂bean类型(Factory bean)
Factory bean 与普通bean的区别
普通bean : 在配置文件中定义什么类型,就必须返回类型保证一致
Factory bean: 在配置文件中定义什么类型,可以与返回类型不一致
什么是作用域
设定bean作用域是为单例还是多例
作用域单例与多例有什么区别
注意: 在Spring默认情况下,bean的作用域就是单例, 节约服务器内存
单例:
在同一个JVM中,该bean对象只会创建一次
多例:
在同一个JVM中,该bean对象会创建多次 占内存
设置scope="prototype"
设置为多例
声明周期: bean的后置处理器
简单分为: 实例化----> 属性赋值 —> bena类中init方法–> 使用该对象–> 容器关闭
==========Bean后置处理器 在init方法之前执行
3 调用Bean设定init的方法
========Bean后置处理器 在init方法之后执行
4 正常使用到该Bean对象
5 容器关闭—该对象就会被撤销执行 该对象Bean对象中 销毁方法
生命周期: 后置处理器
可以配置多个 (Order
值 越小 越优先先加载)
反射技术给对象中的属性赋值 反射技术调用init方法 反射技术销毁的方法
本文来源面相薪水编程,由javajgs_com转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处