Spring的自动装配方式【4.3.16.RELEASE版】

摘自官网:

https://docs.spring.io/spring/docs/4.3.16.RELEASE/spring-framework-reference/htmlsingle/#overview-getting-started-with-spring

Table 7.2. Autowiring modes

Mode Explanation

no

(Default) No autowiring. Bean references must be defined via a ref element. Changing the default setting is not recommended for larger deployments, because specifying collaborators explicitly gives greater control and clarity. To some extent, it documents the structure of a system.

默认方式,不启用自动装配。必须通过ref方式引入bean。建议保持默认方式,以确保可控性和明确性。

byName

Autowiring by property name. Spring looks for a bean with the same name as the property that needs to be autowired. For example, if a bean definition is set to autowire by name, and it contains a master property (that is, it has a setMaster(..) method), Spring looks for a bean definition named master, and uses it to set the property.

通过属性名称自动装配。如果一个bean含有一个master属性,则Spring会寻找命名为master的bean并将其通过setMaster(...)方法设置属性。

byType

Allows a property to be autowired if exactly one bean of the property type exists in the container. If more than one exists, a fatal exception is thrown, which indicates that you may not use byType autowiring for that bean. If there are no matching beans, nothing happens; the property is not set.

通过属性类型自动装配。如果发现一个以上的相同类型存在,则报致命性异常。没有找到匹配的beans,不设置属性。

constructor

Analogous to byType, but applies to constructor arguments. If there is not exactly one bean of the constructor argument type in the container, a fatal error is raised.

类似于byType,通过构造函数参数引入。如果找不到正确的bean,则会报致命错误。


猜你喜欢

转载自blog.csdn.net/sjmz30071360/article/details/80178838
今日推荐