• Spring JavaConfig @Import实例


    一般来说, 需要按模块或类别 分割Spring XML bean文件 成多个小文件, 使事情更容易维护和模块化。 例如,
    <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-2.5.xsd">
     
    	<import resource="config/customer.xml"/>
            <import resource="config/scheduler.xml"/>
     
    </beans>
    Spring3 JavaConfig它等效于 @Import 功能
    package com.yiibai.config;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
    
    @Configuration
    @Import({ CustomerConfig.class, SchedulerConfig.class })
    public class AppConfig {
    
    }

    @Import实例

    请参阅使用JavaConfig @Import的一个完整的例子。

    1. 目录结构

    本实例目录结构。

    2. Spring Beans

    两个简单的Spring bean。

    File : CustomerBo.java

    package com.yiibai.core;
    
    public class CustomerBo {
    
    	public void printMsg(String msg) {
    
    		System.out.println("CustomerBo : " + msg);
    	}
    
    }

    File : SchedulerBo.java

    package com.yiibai.core;
    
    public class SchedulerBo {
    
    	public void printMsg(String msg) {
    
    		System.out.println("SchedulerBo : " + msg);
    	}
    
    }

    3. @Configuration示例

    现在,使用JavaConfig @Configuration声明上述Bean类。

    File : CustomerConfig.java

    package com.yiibai.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    import com.yiibai.core.CustomerBo;
    
    @Configuration
    public class CustomerConfig {
    	
    	@Bean(name="customer")
    	public CustomerBo customerBo(){
    		
    		return new CustomerBo();
    		
    	}
    }

    File : SchedulerConfig.java

    package com.yiibai.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import com.yiibai.core.SchedulerBo;
    
    @Configuration
    public class SchedulerConfig {
    	
    	@Bean(name="scheduler")
    	public SchedulerBo suchedulerBo(){
    		
    		return new SchedulerBo();
    		
    	}
    	
    }

    4. @Import示例

    使用@Import加载多个配置文件。

    File : AppConfig.java

    package com.yiibai.config;
    
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
    
    @Configuration
    @Import({ CustomerConfig.class, SchedulerConfig.class })
    public class AppConfig {
    
    }

    5. 执行程序

    加载主配置文件,并进行测试。
    package com.yiibai.core;
    
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import com.yiibai.config.AppConfig;
    
    public class App {
    	public static void main(String[] args) {
    
    		ApplicationContext context = new AnnotationConfigApplicationContext(
    				AppConfig.class);
    
    		CustomerBo customer = (CustomerBo) context.getBean("customer");
    		customer.printMsg("Hello 11");
    
    		SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler");
    		scheduler.printMsg("Hello 22");
    
    	}
    }

    输出结果

    CustomerBo : Hello 11
    SchedulerBo : Hello 22
     
    http://www.yiibai.com/spring/spring-3-javaconfig-import-example.html
  • 相关阅读:
    操作系统 第二章 进程管理
    操作系统 第一章 概述(补充)
    第六次博客作业——团队总结
    专题(十三)watch
    专题(十二)find 查找
    JVM 排查工具介绍(二)Memory Analyzer 堆内存分析工具
    Linux 学习笔记之(二)curl命令
    centos openjdk 11 安装软件包获取方式
    软件工程课程总结
    小黄衫!又一次?
  • 原文地址:https://www.cnblogs.com/soundcode/p/6367015.html
Copyright © 2020-2023  润新知