spring知识收集

Spring
基本概念:
1.什么是spring?有什么用?
2.Spring和其他类似产品的区别?
3.Spring的特点(优缺点)?
4.Spring的内容?
 
什么是spring?有什么用?
Spring就是轻量级的业务层框架,什么是轻量级:第一,spring的文件大小只有1mb,第二,资源消耗,占用内存与其他的产品相比较小(:EJB)
作用:完成业务层的开发
 
Spring和其他类似产品的区别?
轻量级,EJB也是完成业务层的开发,但是他是重量级的框架,EJB的重点在企业应用,那么有些程序没有必要使用重量级的工具来开发轻量级的应用,这样成本过大,spring就是满足完成轻量级应用的业务层框架
 
Spring的特点(优缺点)?
优点:
1.依赖注入(控制反转):什么是依赖注入?在一个对象需要使用另一个对象的时候,只声明另一个对象的接口,它的实例在运行时获得它,作用:就是解决了组件中的耦合,也就是不依赖于固定的对象
2.面向方面编程:什么是面向方面编程?AOP:在预编译或运行时为程序加入新的功能(:加入安全,同步,事务等),编程方式采用的是注释,不用在业务代码中写这些与业务无关的代码了,作用:实现业务与其他代码分离,解耦合,他完善依赖注入(DI)
3.简化javaee编程结构:web的支持(MVC),DAO的支持,ORM的支持
4.类似一站式服务:web,业务的功能都有,用户也可以选择性的使用
 
Spring的内容?
1.核心模块:BeanFactory(用来管理bean组件的,相当于bean的容器,通过独beanxml文件,可以从中知道beanbean的依赖关系和bean的实现)
2.AOP:面向方面编程(声明式中间件服务管理)
3.ORM
4.DAO
5.Web
6.Context:ApplicationContext:作用:增强功能,:程序国际化等
依赖注入的三种方式:
1.基于接口注入
2.构造方法注入
3.set注入
 
基于接口注入:
只要实现制定的接口,那么便创建对象,类似于标示接口,比如说:servletpagecontext,只要实现了servlet接口,那么pagecontext,request,response,ServletContext等就会创建
 
构造方法注入:
顾名思义,通过构造方法注入对象的属性,这种方式不常用
 
Set注入:
通过set方法注入对象信息,这个用的最多
 
ApplicationContext:
通常使用ClassPathXmlApplicationContext这个类来代替XmlBeanFactory
 
FileResource:
得到资源文件(xml)的另一种方式:绝对路径方式,一般使用的不多
 
Ioc依赖注入的特点:
1.spring没有依赖性,程序不依赖于spring指定的Api
2.bean都是单例的,除非在bean的属性修改
3.支持基本类型,引用类型和集合类型
Bean的创建:
1.工厂类创建:A.静态方法 B.new 工厂类
2.XmlBeanFactory:getBean的时候创建bean实例
3.ClassPathXmlApplicationContext:new这个对象后,就将资源中的bean读入到内存
 
AppLicationContext
基本概念:
1.什么是ApplicationContext?有什么用?
2.bean工厂的区别?
3.后续处理器
 
什么是ApplicationContext?有什么用?
bean工厂的升级,增强了功能,例如国际化等
通过这个类可以得到bean对象
 
bean工厂的区别?
功能更多
当实例这个对象的时候,该对象就会将资源中的bean实例存储到内存中
 
属性编辑器: PropertyEditorSupport
作用:如果一个类中的属性为Date类型,那么在beans.xml中设置的Date值不能与Date匹配,那么我们需要对beans.xml中的属性进行编辑,让它转化为Date类型的
CustomEditorConfigurer可以读取实现java.beans.PropertyEditor接口的类,将字符串转为指定的类型,更方便的使用PropertyEditorSupport.PropertyEditorSupport实现PropertyEditor,必须重新定义setAsText
ApplicationContext的事件特性(观察者模式):
1.ApplicationContext发布事务
2.事件响应者需要实现ApplicationListener
3.定义一个事件类,继承ApplicationEvent
国际化:
ApplicationContextgetMessage方法可以做国际化
并且在beans.xml中需要配置国际化文件的路径
 
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值