Core Container(核心容器)
spring-core ,
spring-beans ,
这两个模块提供了整个Spring框架最基础的设施:IoC (Inversion of Control,控制反转) 和 DI (dependency injection,依赖注入)。
spring-context ,
spring-context-support
, and springexpression (Spring Expression Language)
bean就是java对象,容器就是对java对象的整个周期
IoC/DI
IoC (Inversion of Control,控制反转) ,是面向对象编程中的一种设计原则,可以用来减低计算机代码 之间的耦合度
作用:降低代码耦合度
实现了IoC思想的容器就是IoC容器
DI 是实现IoC的方法之一。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中
两种注入方式:构造注入和Setter注入
注册Bean
注册Bean—在类上使用,当类被Spring扫描到,就会创建Bean对象并注册到容器中
@Controller :Web请求响应的处理,控制器层 完成请求数据的校验等操作
@Service :业务逻辑的服务层 根据方法参数完成业务逻辑
@Repository :数据访问层 关系型数据库的访问操作
@Component :一般的组件
传统的三层架构设计:Controller, Service ,DAO(数据访问层)
2、@Bean在方法上,方法名作为Bean的id(名称)方法的返回值,作为注册到容器中的Bean对象,更灵活一点,可以手动设计属性
3、@Configuration:表示配置类
注:注册一个Bean对象的工厂类(实现Factory接口),其实是注册getObject()方法返回值对象到容器中
面试问题:
Bean容器的理解,loc/DI的理解,
BeanFactory和ApplicationContext区别
BeanFactory和FactoryBean区别