Spring技术是JavaEE开发必备技能,企业开发技术选型命中率>90%
专业角度 简化开发,降低企业级开发的复杂性
框架整合,高效整合其他技术,提高企业级应用开发与运行效率
1.学习Spring框架设计思想
2.学习基础操作,思考操作与思想间的联系
3.学习案例,熟练应用操作的同时,体会思想
初识Spring
官网:spring.io
Spring发展到今天已经形成了一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能
这三个技术基本能应对企业级开发所有的开发
目前我们要学的是Spring Framework
学配置有助于理解,学注解可以提高效率
Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基
系统架构:
学习路线:
核心概念:
当我们数据层实现的时候,如果需要更新代码,需要新写个实现类,那么业务层就要跟着修改new的对象,这样耦合度很高。
IOC控制反转就可以解决这个问题 :
目标:充分解耦
使用IoC容器管理bean(IoC)
在IoC容器内将有依赖关系的bean进行关系绑定(DI)
最终效果 使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定了所有的依赖关系
IOC入门案例
1.先导入Spring依赖:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </dependency>
2.
然后再resources文件夹下新建 applicationContext.xml配置文件
配置内容写:
bean定义时id属性在同一个上下文中不能重复
就完成了
DI 入门案例
Bean基础配置
Bean别名配置
通过name也能找到对应的bean
bean作用范围配置
控制bean创建实例的数量,默认情况下创出的多个bean都是同一个bean
实例化bean的三种方式
1.构造方法:(常用)
实际上就是调用无参构造方法,如果没有无参构造方法,就会抛出异常了
2.使用静态工厂实例化bean (了解)
3.使用实例工厂实例化bean (了解)
4.使用factoryBean实例化 (第三种方式的变种) 务必掌握
获取new对象的方法直接变成了getObeject(),而且配置的内容比第三种方法简洁更多
而且实例化的对象都是单一的,如果不想实例出的对象单一,那么需要在工厂bean 实现
isSingleton()方法,并且return false就可以了
Bean的生命周期
生命周期控制方法
配置的方式
接口的方式(了解)
bean销毁的时机
注入
依赖注入的两种方式
Setter注入的两种类型
构造器注入的两种类型(了解)
依赖自动装配
集合注入
Spring管理第三方资源
加载properties文件 动态管理上一节jdbc的name ,url等内容
1.首先对照原来内容,开辟新的命名空间 beans全都换成context:
2.使用context空间 加载properties文件
<context:property-placeholder location="jdbc.properties"/>
注意:防止名称跟系统属性冲突,我们的properties文件的键尽量使用jdbc.username
而不是username
而且context的 location配置路径的时候 我们写成
<context:property-placeholder location ="classpath:*.properties" system-properties-mode="NEVER"/>
这样可以加载当前模块下所有的.properties文件,不需要写多个了