Spring配置混合方式

首先简单说明java配置类和xml配置

JavaConfig

@Configuration

public class TJavaConfig {
    @Bean
    public User getUser() {
        return new User();
    }
}

上面可以加上@ComponentScan//默认扫描此基础包下Component注解

对应xml配置中为,<context:component-scan base-package="test"/>

XML

<bean name="user" class="test.User" c:name="zhangsan" c:age="18"/>

第一种,java配置类中引用java配置类

@Configuration
@Import(JavaConfig.class)//导入其他配置类
public class TestDemo {
    @Bean
    public User getUser() {
        return new User();
    }
}

第二种,java配置类中引用xml配置

@Configuration
@Import(JavaConfig.class)
@ImportResource("classpath:applicationContext.xml")//导入xml配置
public class TestDemo {
    @Bean
    public User getUser() {
        return new User();
    }
}

第三种,xml配置类引用java配置类

我们知道在xml中导入xml是这样的:

<import resource="user.xml"/>

在xml导入java配置类不能使用import,而是用<bean>,其实就是把配置类当做一个bean放进容器:

<bean class="test.User"/>


最后,一般是一个根配置xml文件,集成了我们散乱的配置。

ps:《Spring in action》中推荐优先使用自动装配方式,然后是java配置类,最后才是xml配置,其实也是看个人喜好了。


猜你喜欢

转载自blog.csdn.net/qq_26567507/article/details/78786338