javascript
spring第八发—自动装配及让spring自动扫描和管理bean -凯发k8官方网
依赖注入–自动装配依赖对象(了解即可)
对于自动装配,大家了解一下就可以了,实在不推荐大家使用。例子:
byname:按名称装配,可以根据属性的名称,在容器中寻找跟该属性名相同的bean,如果没有找到,即属性值为null。
constructor与bytype的方式类似,不同之处在于它应用于构造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
autodetect:通过bean类的自省机制(introspection)来决定是使用constructor还是bytype方式进行自动装配。如果发现默认的构造器,那么将使用bytype方式。
造器参数。如果在容器中没有找到与构造器参数类型一致的bean,那么将会抛出异常。
autodetect:通过bean类的自省机制(introspection)来决定是使用constructor还是bytype方式进行自动装配。如果发现默认的构造器,那么将使用bytype方式。
通过在classpath自动扫描方式把组件纳入spring容器中管理
前面的例子我们都是使用xml的bean定义来配置组件。在一个稍大的项目中,通常会有上百个组件,如果这些这组件采用xml的bean定义来配置,显然会增加配置文件的体积,查找及维护起来也不太方便。spring2.5为我们引入了组件自动扫描机制,他可以在类路径底下寻找标注了@component、@service、@controller、@repository注解的类,并把这些类纳入进spring容器中管理。它的作用和在xml文件中使用bean节点配置组件是一样的。要使用自动扫描机制,我们需要打开以下配置信息:
1 2 3 4 5 6 7 8 9 | |
其中base-package为需要扫描的包(含子包)。 @service用于标注业务层组件、 @controller用于标注控制层组件(如struts中的action)、@repository用于标注数据访问组件,即dao组件。而@component泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注,它们的作用都是相同的。
1 | |
以上这条配置语句注册了许多处理器,它包含了之前注解依赖注入方式的注册的处理器。
@scope(“prototype”)可以用来指定作用域。
@postconstruct可以用来初始化bean。
@predestroy摧毁方法,常用关闭资源。
转载于:https://www.cnblogs.com/zhangmingcheng/p/6548784.html
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是凯发k8官方网为你收集整理的spring第八发—自动装配及让spring自动扫描和管理bean的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: