Spring裝配bean的三種方式
阿新 • • 發佈:2019-02-14
spring裝配bean有顯式和隱式兩種:
1.顯式的配置:
1).通過javaConfig來配置(@Configuration和@Bean結合)
@Configuration public class BeanConfig { @Bean public A a() { return new A(); } @Bean public B b() { B bb = new B(); bb.setA(a()); return bb; } }
2).通過xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--使用bean標籤去申明bean--> <bean id="waiter" class="xyz.mrwood.study.spring.example.Waiter" /> <!--可以保用p標籤來注入依賴的bean--> <bean id="store" class="xyz.mrwood.study.spring.example.Store" p:waiter-ref="waiter" /> </beans>
2.隱式的配置:
1).通過掃描包,自動裝配
java類(其中Configuration可以由Service和Controller代替):
@Configuration
@ComponentScan
public class ApplicationConfig {
}
XML:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="xyz.mrwood.study.spring.example" /> </beans>