@Configuration、@Bean以及Bean註冊的多種方式
阿新 • • 發佈:2018-12-09
Bean的定義:
java方式:
@Configuration和@Bean的配合使用
xml方式:
<beans><bean><bean><beans>
僅有上述步驟,只是完成了Bean的定義,Bean還沒有被真正註冊到Spring容器中。
Bean的註冊:
java方式:
通過AnnotationConfigApplicationContext類實現,示例程式碼如下:
@Configuration
public class AppContext {
@Bean
public Course course () {
Course course = new Course();
course.setModule(module());
return course;
}
@Bean
public Module module() {
Module module = new Module();
module.setAssignment(assignment());
return module;
}
@Bean
public Assignment assignment () {
return new Assignment();
}
}
public static void main(String[] args) {
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppContext.class);
Course course = ctx.getBean(Course.class);
course.getName();
}
xml方式:
通過ClassPathXmlApplicationContext類實現,示例程式碼如下:
< beans>
<bean id="course" class="demo.Course">
<property name="module" ref="module"/>
</bean>
<bean id="module" class="demo.Module">
<property name="assignment" ref="assignment"/>
</bean>
<bean id="assignment" class="demo.Assignment" />
</beans>
public static void main(String[] args) {
ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/*.xml");
Module module = (Module)context.getBean("module");
}
spring mvc方式:
spring web中,預設上下文是XmlWebApplicationContext,因此您永遠不必在您的 web.xml 檔案中顯式指定這個上下文類。
參考:
https://www.ibm.com/developerworks/cn/webservices/ws-springjava/index.html