spring框架
1.spring框架
主要作用"高内聚低耦合”,
目的:减少企业应用开发的复杂性
功能:使用基本的javaBean代替EJB(企业java类),并提供了更多的企业应用功能
范围:任何java应用
简单来说:Spring是一个轻量级的控制反转(IOCl类)和面向切面(AOP)的容器框架
2.IOC和AOP
IOC控制反转:spring通过一种称作控制反转的技术促进了松耦合。控制反转是把在javabean要写的内容通过外部容器注入进去
AOP面向切面:简单来说就是通过预编译的方式和运行期间动态代理来实现在不修改源代码的情况下给程序动态地同意添加功能的一种技术。
AOP的原理是依靠代理:代理》动态代理》jdk代理或者cglib代理。事务管理和日志管理通常都是用到aop
3.Spring中的主要概念
是依赖注入和控制反转,其实可以没说成一个就是依赖注入
4.spring中的注入方式
设值注入:所谓的设置注入就是在容器配置的值通过setXX()方法注入(赋值)给类中的属性或者变量
构造注入:所谓的构造注入就是将容器中配置的值通过类的构造器注入(赋值)给类中的属性或者变量
注解注入:直接在作业类中用注解注入
5.Spring的自动装配
自动装配:所谓的自动装配其实是一个概念,意思是指当类中的属性需要什么样的值的时候,spring苦瓜那几的容器就睡给它自动的赋予什么样的值
特点: 虽然使用起来简单,但是降低了代码的可读性,自动装配一般应该用的组件依赖不复杂的应用程序中
实现手段:
1)通过xml实现自动装配
2)通过注解实现自动装配
自动装配模式:5种
no:不自动装配,通过“ref”attribute手动设定
byName:根据property的name自动装配。
byType:根据property的数据类型自动装配,如果一个bean的数据类型,兼容另一个备案中property的数据类型,则自动装配
constructor:根据构造函数参数的数据类型,进行bytype模式的自动装配
autodetect:如果发现默认的构造函数,用constructor模式,否则,用bytype模式
6.Spring注入数据的类型
基本数据类型
注入一个对象bean
注入一个集合
Null and empty string values