《Spring实战》 轻量级重量级看使用的服务。
Spring框架:
Spring是分层的javaEE应用(一站式)的轻量级开源框架,以控制反转(IOC)和面向切面为内核(AOP),提供了表现层springMVC,持久层Spring JDBC以及业务事物管理等众多企业级应用技术。
Spring特点:
1,方便解耦,简化开发。(通过Spring提供IOC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合)
2,AOP编程的支持。(通过Spring提供的AOP功能,用户可以方便的进行面向切面编程,许多不容易用传统面向对象编程OOP实现的功能都可以通过AOP实现)
3,声明是事物的支持。(灵活的事物管理,提高开发效率和质量)
4,方便测试
5,方便集成框架
6,降低javaEE Api的使用难度
7,Spring源码的经典
IOC:控制(创建和维护对象的控制权)反转(交给容器)就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控住全就由应用转移到了外部容器,控制权的转移就是所谓的反转。控制权转移带来的好处就是降低了业务对象之间的依赖程度。————————》DI(依赖注入)确保低耦合:动态的向某个对象提供所需要的其他对象。(构造器注入,方法注入,接口注入)Spring不支持接口注入。
启动IOC容器:1,当做类的资源ClassPathXmlApplication,2,FileSystemXmlApplicationContext3,XmlWebApplicationContext
装配Bean: 所谓装配就是创建应用对象之间的协作关系行为,这也是依赖注入的本质,Spring通过配置文件的方式定义bean以及bean与bean之间的依赖关系Spring的applicationContext应用上下文通过加载并即系该配置文件,完成bean装配工作。(1,xml配置,注解配置,java类的配置)
bean的作用域:在Spring容器中,所以bean默认都是单例。
内部bean的特点是不能被复用,内部bean仅适用与一次注入,而且不能被其他bean所引用。
在注解中 bean的作用域:@Scope
SpEl表达式:一种强大简洁的装配bean的方式,
特性:
1,使用bean的id来引用bean
2,调用方法和访问对象的属性(重点)
3,对值进行算术,关系和逻辑运算
4,正则匹配
5,集合操作
spel查询集合成员:(.?[条件] )得到一个查询的集合 (.^[])得到满足条件的第一个成员 (.$[])得到满足条件的最后一个成员。
spel集合的投影:是从集合中的每一个成员中选特定的属性放入一个新的集合的(.![])。
简化bean配置;
1,自动装配;自动注入依赖关系。
2,自动检测;自动在ioc中创建对象。
自动装配:1,byName,byType,constructor
装配bean的优先级 :默认<自动<手动