Spring3.0中支持的配置类和xml文件配置混合模式

    科技2026-01-21  13

    Spring3.0中支持的配置类和xml文件配置混合模式

    1.在配置类中引入xml配置文件:

    @Configuration @ImportResource("classpath:spring-config.xml") public class SpringConfig { }

    spring-config.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="strBean" class="java.lang.String" ></bean> </beans>

    测试类:

    public class Demo1 { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class); String[] beanDefinitionNames = context.getBeanDefinitionNames(); for (int i = 0; i < beanDefinitionNames.length; i++) { System.out.println(beanDefinitionNames[i]); } } }

    显示结果:

    2.在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.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache.xsd http://www.springframework.org/schema/tool http://www.springframework.org/schema/tool/spring-tool.xsd"> <bean id="strBean" class="java.lang.String" ></bean> <context:annotation-config></context:annotation-config> <bean class="com.example.config.SpringConfig"></bean> </beans>

    测试类:

    public class Demo1 { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("classpath:spring-config.xml"); String[] beanDefinitionNames = context.getBeanDefinitionNames(); for (int i = 0; i < beanDefinitionNames.length; i++) { System.out.println(beanDefinitionNames[i]); } } }

    显示结果:

    Processed: 0.013, SQL: 9