9
A
回答
10
下面是一个简单的例子,展示了基于xml的Spring配置和基于Java的Spring配置的组合。有5个文件中的示例:
Main.java
AppConfig.java
applicationContext.xml
HelloWorld.java
HelloUniverse.java
尝试使用helloBean
豆ApplicationContext中的文件注释掉首先运行它,你会发现,helloBean
豆是从了AppConfig配置类实例化。然后使用applicationContext.xml文件中未注释的helloBean
bean运行它,您会注意到xml定义的bean优先于AppConfig类中定义的bean。
Main.java
package my.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext ctx = new AnnotationConfigApplicationContext(AppConfig.class);
ctx.getBean("helloBean");
}
}
AppConfig.java
package my.test;
import org.springframework.context.annotation.*;
@ImportResource({"my/test/applicationContext.xml"})
public class AppConfig {
@Bean(name="helloBean")
public Object hello() {
return new HelloWorld();
}
}
的applicationContext.xml
<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-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<bean id="helloBean" class="my.test.HelloUniverse"/>
</beans>
HelloUniverse.java
package my.test;
public class HelloUniverse {
public HelloUniverse() {
System.out.println("Hello Universe!!!");
}
}
HelloWorld.java
package my.test;
public class HelloWorld {
public HelloWorld() {
System.out.println("Hello World!!!");
}
}
-1
当我们宁愿集中,声明的XML文件配置的基于XML配置使用。当许多配置发生变化时。它给你一个清晰的概念如何连接这些配置。基于XML比基于注解更松散地解耦。
相关问题
- 1. Spring注解和XML配置
- 2. Spring Boot JPA基础配置优先于应用配置
- 3. Spring MVC基于xml的配置注释
- 4. 基于Jawr Spring Annotations的示例配置
- 5. 等效于Spring XML配置
- 6. Spring XML配置与XML配置
- 7. Spring中的xml配置
- 8. 如何使用基于注解的配置来代替基于XML的配置
- 9. 春:基于注解配置
- 10. Spring AOP配置(XML)
- 11. Spring @Transactional配置xml
- 12. Spring Security XML配置
- 13. Spring bean配置xml
- 14. NoUniqueBeanDefinitionException在Spring注解驱动的配置
- 15. Spring MVC的注解和安全配置
- 16. Spring MVC注释vs xml配置
- 17. 火花配置优先
- 18. XML解析器的配置与Spring
- 19. Spring Mongo DB基于注释的配置
- 20. 基于Spring注释的配置更改
- 21. 基于Spring-Tiles标注的配置
- 22. 的Spring XML配置相当于@order
- 23. Xml配置与基于注释的配置
- 24. 注解驱动任务的Spring @Configuration(非xml配置)
- 25. Spring XML查看解析器配置
- 26. 如何配置基于xml文件的Spring 3.0批注?
- 27. 如何使用xml配置配置sockjs配置Spring 4 WebSocket
- 28. 如何使用spring MVC注解来创建xml配置文件?
- 29. Spring MVC注释配置
- 30. Spring RMI Remoting注释配置
检查这个帖子,我认为一切都在那里http://stackoverflow.com/questions/15233766/what-is-the-precedence-of-spring-beans-definitions –