首
先先了解一下,什么是 JavaBean。JavaBean 是 JAVA 中一种特殊的类,是一种JAVA语言写成的可重用组件。
Spring
容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系。但是,作为开发人员,你需要告诉Spring要创建哪些bean并且如何将其装配在一起。
当
描述bean如何进行装配时,Spring具有非常大的灵活性,它提供了三种主要的装配机制:
- 在XML中进行显式配置。
- 在Java中进行显式配置。
- 隐式的bean发现机制和自动装配。
传
统的 Spring 做法是使用.xml
文件来对 bean进行注入或者是配置 aop,事物。这么做有两个缺点:如果所有的内容都配置在.xml
文件将会十分庞大;如果按需求分开.xml
文件,那么.xml
文件又会非常多。总之会导致配置文件的可读性与可维护性变得很低。
因
此Spring 引入了注解。通过@XXX
的方式,让注解与 JavaBean 紧密结合,既大大地减少了配置文件的体积,又增加了 JavaBean 的可读性与内聚性。Spring从两个角度来实现自动化装配:
- 组件扫描(component scanning):Spring会自动发现应用上下文中所创建的bean。
- 自动装配(autowiring):Spring自动满足bean之间的依赖。
组件扫描和自动装配组合在一起就能发挥出强大的威力,它们能够将你的显式配置降低到最少。