[JAVA] Über DI des Frühlings ②

Zweck dieses Artikels

Über Spring DI ① Ist eine Fortsetzung von

Umfang dieses Artikels

Beschäftigt sich hauptsächlich mit der Konfiguration

Was ist Konfiguration?

** Bean-Definitionsdatei **

Funktion

Configurationの概略.jpg

Art

** Java-basierte Konfiguration **

JavaConfig.java


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

@Configuration
public class HogeConfig {
	@Bean
	HogeService hogeService() {
		return new HogeService():
	}
	
	@Bean
	AAABean aAABean() {
		return new AAABean(hogeService());
	}
	
	@Bean(name = "bBean")
	BBBBean bBBBean() {
		return new bBBBean();
	}
}

** XML-basierte Konfiguration **

xmlConfig.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="hogeService" class="jp.co.hogeProgram.HogeService" />
    
    <bean id="aAABean" class="jp.co.hogeProgram.AAABean">
        <constructor-arg ref="hogeService"/>
    </bean>

    <bean id="bBean" class="jp.co.hogeProgram.BBBBean>
        <constructor-arg value="aaa"/>
    </bean>
</beans>

Da es notwendig ist, die Definition für jede der beiden oben genannten so viele wie die Anzahl der Beans zu schreiben, dauert es einige Zeit, so dass es üblich ist, DI durch Kombinieren der folgenden Annotationsbasen durchzuführen.

** Annotationsbasierte Konfiguration **

Bean

Hoge.java


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

@Component
public class Hoge {
	
Automatische Verkabelung
Durch die Beschreibung dieser Anmerkung ruft FugaService die Bean automatisch aus dem DI-Container ab.
	@Autowired
	public Hoge(FugaService fuga);
	
Beschreiben Sie den Prozess
}

Konfigurationsklasse (XML weggelassen) Suchen Sie in diesem Fall unter jp.co.hoge nach einer Klasse

AppCongig.java


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

@Configuration
@ComponentScan("jp.co.hoge")
public class AppConfig {

}

Vorschau beim nächsten Mal

Ich habe vor, Bohnenassoziation zu machen

Recommended Posts

Über DI des Frühlings ①
Über DI des Frühlings ②
Über den Frühling ③
Informationen zu Anmerkungen zu Spring DI
Über das Binden der Spring AOP Annotation
Über Spring AOP
Über den Frühling AOP
[Java] Spring DI ③
Informationen zur ersten Anzeige von Spring Framework
[Frühling] Fallstricke von BeanUtils.copyProperties
Informationen zum Trennen () von HttpURLConnection
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
Über den offiziellen Startleitfaden für Spring Framework
Informationen zur Spring Security-Authentifizierung
Spring Framework Zusammenfassung - Über DI
Über Bean und DI
Über die Auswahl von OpenJDK
Erster Frühlingsstiefel (DI)
Über Spring AOP Pointcut
Informationen zum Formular. ○○ von form_with
Übersicht über Spring AOP
Frühlingsgrundlagen ~ DI Edition ~
[Für Anfänger] DI ~ Die Grundlagen von DI und DI im Frühjahr ~
Über den Umgang mit Null
[Persönliche Notizen] Über das Spring Framework
Über Java-Instanzen
Über die einfache Bedienung von Docker
Informationen zum Spring Framework-Kontextfehler
Über Größenvergleich von compareTo
Informationen zu Arten der Codeabdeckung
Einführung in Spring Boot ~ ~ DI ~
Memorandum über LOD.
[Java] Wie Spring DI funktioniert
Über teilweise Übereinstimmung des Selektors
Über die Funktion von Spring Boot aufgrund unterschiedlicher Versionen
Beschleunigen Sie das Testen von Validatoren, für die DI im Spring Boot erforderlich ist
Lassen Sie uns das Betriebsbild (Atmosphäre) des DI-Containers von Spring erfassen
Über das Verhalten von Ruby Hash # ==
Memorandum beim Spring Boot 1.5.10 → Spring Boot 2.0.0
Spring Framework 5.0 Zusammenfassung der wichtigsten Änderungen
Über die Grundlagen der Android-Entwicklung
Über Biocontainer fastqc und Java
Über Lambda, Stream, LocalDate von Java8
Informationen zur Fehlerbehandlung der Kommentarfunktion
[Rails] Über die Implementierung der Like-Funktion
Informationen zur Rolle der Initialisierungsmethode
[Java] Spring DI ④ - Lebenszyklusverwaltung
Informationen zu removeAll und RetainAll von ArrayList
Denken Sie an die 7 Regeln von Optional
Über =
Über das Hochladen von Bildern von jsp (Servlet)
Informationen zum Festplatten-Cache der Glide 4-Serie
Erklärt Ruby Array-Objekte
Über Fehler bei der Implementierung der Federvalidierung
Filtern Sie das Ergebnis von BindingResult [Spring]
Informationen zur Protokollebene von java.util.logging.Logger
Persönliches Memo Merkmale von Spring Boot (hauptsächlich aus DI-Sicht)