Spring学习笔记(1-2)

Spring 学习笔记--基于Spring实战第三版


第一章 Spring之旅
1.依赖注入(DI):对象的依赖关系由第三方组件在创建对象时设定,对象无需自己管理依赖,依赖关系自动注入到他们的对象当中。依赖注入确保系统的松耦合。
2.切面编程(AOP):将服务模块化,功能分离出来形成可重用的组件。
3.Spring是一个容器,管理bean对象的生命周期。包括两种容器:Bean工厂和应用上下文ApplicationContext(面向应用的服务,常用)。
4.ApplicationContext应用上下文:
|-ClassPathXmlApplication:从类路径下加载xml装载上下文。
|-FileSystemXmlApplication:读取文件系统下的xml装载上下文。
|-XmlWebApplication:读取Web应用下的xml配置文件并装载上下文。
5.Spring的生命周期---待细化


第二章 装配Bean
1.通过bean标签声明bean,id属性指定bean的唯一标识,class属性指定bean的类名。
2.构造注入:通过bean标签下的constructor-arg属性构造注入bean,value属性指定调用构造方法传入的值,ref属性指定注入的对象引用。无constructor默认调用无参构造函数(class指定的类需要定义无参构造函数)。
3.工厂方法注入:对于没有公开构造函数的类,例如单例,需要采用工厂方法注入Bean。通过bean的factory-method属性指定调用获取实例的方法。
4.bean的作用域:
|-singleton(默认):一个容器中只有一个。同一个上下文获得的实例相同。不同上下文获得的实例不同。
|-prototype:可被实例化多次,每次调用都实例化一个实例。
|-request:一次HTTP请求中对应同一个实例,仅限于Web上下文。
|-session:一个HTTP session中对应同一个实例,仅限于Web上下文。
|-global-session:一个全局HTTP session中,仅限于Porgtlet上下文。
5.Bean的初始化和销毁通过init-method和destory-method方法指定。类加载时默认调用init-method,容器销毁时调用destory-method。另一种方法是class指定的类实现initializingBean和desposableBean方法,但是这样类定义域spring依赖耦合。
6.注入bean属性:通过property元素注入bean属性。value指定简单值(会根据值得类型自动转换),ref指定定义的bean。
7.内部类注入:在bean标签中定义的bean为内部bean,通过内部bean可以防止其他类引用注入内部bean。内部bean没有唯一标识id。
8.集合注入:
|-通过list/set装配Collection和数组类型,例如List、Set和Array。
|-通过map装配Map类型。Map的key、value通过entry标签的key/key-ref和value/value-reF分别制定。
|-通过props和prop标签装配properities类。
9.表达式(SpEL)装配:
|-表达式转配标记为#{}。可以有引用已定义bean的属性、方法。为避免调用方法返回null,使用?.取代.调用方法,这样能保证调用?.右边的方法是,左边的值不是null。
|-通过T()操作类。T(A)返回一个A对象。
|-matches支持表达式。
|-通过util:list定义类的集合,通过#{id[x]}引用第x个类对象。
|-通过util:properties定义Properties结合。
|-查询运算符.?[]。例如:#{cities.?[population gt 100]}..^[]查询第一个,.$[]查询最后一个。
|-投影集合:.![A.B]将A结合的属性B投影成一个集合。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值