Spring 3 JavaConfig @Import-Beispiel

Beispiel für Spring 3 JavaConfig @Import

Normalerweise werden Siesplit a large Spring XML bean files in mehrere kleine Dateien aufteilen, gruppiert nach Modul oder Kategorie, um die Wartung und Modularität zu verbessern. Zum Beispiel,



    
        

In Spring3 JavaConfig ist die entsprechende Funktionalität@Import.

package com.example.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

@Import Beispiel

Ein vollständiges Beispiel für die Verwendung von JavaConfig@Import finden Sie hier.

1. Verzeichnisaufbau

Verzeichnisstruktur dieses Beispiels.

directory structure of this example

2. Frühlingsbohnen

Zwei einfache Frühlingsbohnen.

Datei: CustomerBo.java

package com.example.core;

public class CustomerBo {

    public void printMsg(String msg) {

        System.out.println("CustomerBo : " + msg);
    }

}

Datei: SchedulerBo.java

package com.example.core;

public class SchedulerBo {

    public void printMsg(String msg) {

        System.out.println("SchedulerBo : " + msg);
    }

}

3. @Konfigurationsbeispiel

Verwenden Sie jetzt JavaConfig@Configuration, um die obigen Beans zu deklarieren.

Datei: CustomerConfig.java

package com.example.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.example.core.CustomerBo;

@Configuration
public class CustomerConfig {

    @Bean(name="customer")
    public CustomerBo customerBo(){

        return new CustomerBo();

    }
}

Datei: SchedulerConfig.java

package com.example.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.example.core.SchedulerBo;

@Configuration
public class SchedulerConfig {

    @Bean(name="scheduler")
    public SchedulerBo suchedulerBo(){

        return new SchedulerBo();

    }

}

4. @Import Beispiel

Verwenden Sie@Import, um mehrere Konfigurationsdateien zu laden.

Datei: AppConfig.java

package com.example.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;

@Configuration
@Import({ CustomerConfig.class, SchedulerConfig.class })
public class AppConfig {

}

5. Starte es

Laden Sie die Hauptkonfigurationsdatei und testen Sie sie.

package com.example.core;

import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import com.example.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 1");

        SchedulerBo scheduler = (SchedulerBo) context.getBean("scheduler");
        scheduler.printMsg("Hello 2");

    }
}

Ausgabe

CustomerBo : Hello 1
SchedulerBo : Hello 2

Quellcode herunterladen

Laden Sie es herunter -Spring3-JavaConfig-Import-Example.zip (7 KB)