发表于: 2017-12-18 23:06:48
2 656
2017年12月18日
今天完成的事情:
学习IOC & DI
IOC 思想,通过DI实现。
什么是依赖注入?
https://www.zhihu.com/question/23277575
没用依赖注入的时候,怎么写?这样写造成什么问题?
依赖注入怎么解决这些问题?
类A依赖类B(在类A中使用了类B),把类B作为参数对象,注入到(传递给)类A的构造器。
IOC 容器 BeanFactory & ApplicationContext
BeanFactory:
IOC 容器的基本实现,一个接口。
ApplicationContext:
提供了更多的高级特性. 是 BeanFactory 的子接口.
BeanFactory 是 Spring 框架的基础设施,面向 Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 ApplicationContext 而非底层的 BeanFactory。
无论使用何种方式, 配置文件时相同的。
ClassPathXmlApplicationContext:从类路径下加载配置文件
FileSystemXmlApplicationContext: 从文件系统中加载配置文件
ConfigurableApplicationContext
从 ApplicationContext 继承下来,新增加两个主要方法:refresh() 和 close(), 让 ApplicationContext具有启动、刷新和关闭上下文的能力。
上图有省略。
spring配置 bean
配置形式:基于 XML 文件的方式;基于注解的方式
学习了基于XML文件来配置bean,(还没学注解方式配置bean):
Bean 的配置方式:通过全类名(反射)、通过工厂方法(静态工厂方法 & 实例工厂方法)、FactoryBean
依赖注入的方式:属性注入;构造器注入;工厂方法注入
属性注入
就是helloworld项目中的写法,通过settet方法注入:
使用 <property> 元素, 使用 name 属性指向setter方法,value 属性或 <value> 子节点指定属性值
Class中 | |
xml文件配置bean: |
是实际应用中最常用的注入方式。
构造器注入
在 <constructor-arg> 元素里声明属性:
新建class: springTest\helloworld\src\main\java\com\bpzj\task1\Car.java
Class中 | |
xml文件配置bean: |
怎么选择注入方式?
获取Bean实例
注入时的问题:字面值、bean之间相互引用(ref配置和内部bean)、级联属性
明天计划的事情:
bean相关内容:自动装配;关系:继承;依赖;作用域:singleton;prototype;WEB 环境作用域
Bean 的生命周期
注解方式配置bean
看看 jdbcTemplate,试试连接数据库
遇到的问题:
今天没遇到大问题,报错有一两个,是写错了单词,改好就没问题。
收获:
学习spring,搞懂IOC、Bean等概念,学习bean详细配置。
评论