Tutorials  /  JavaScript

Spring Component

Ccentron Redaktion · Februar 2024 ·3 Min. Lesezeit ·JavaScript, Tutorial

Die Spring Component Annotation wird verwendet, um eine Klasse als Component zu kennzeichnen. Das bedeutet, dass das Spring Framework diese Klassen für Dependency Injection automatisch erkennt, wenn eine auf Annotationen basierende Konfiguration und Klassenpfad-Scanning verwendet wird.

Spring Component

Im einfachen Sinne ist ein Component verantwortlich für einige Operationen. Das Spring Framework bietet drei weitere spezifische Spring Component Annotationen, die verwendet werden, wenn eine Klasse als Component markiert wird.

  • Service: Zeigt an, dass die Klasse einige Dienstleistungen bereitstellt. Unsere Utility-Klassen können als Service-Klassen markiert werden.
  • Repository: Diese Annotation zeigt an, dass die Klasse sich mit CRUD-Operationen befasst, üblicherweise wird sie mit DAO-Implementierungen verwendet, die sich mit Datenbanktabellen beschäftigen.
  • Controller: Wird meistens bei Webanwendungen oder REST-Webdiensten verwendet, um anzugeben, dass die Klasse ein Front-Controller ist und dafür verantwortlich ist, Benutzeranfragen zu bearbeiten und eine angemessene Antwort zurückzugeben.

Beachten Sie, dass alle diese vier Annotationen im Paket org.springframework.stereotype sind und Teil des spring-context Jars. Meistens werden unsere Component-Klassen unter eine ihrer drei spezialisierten Annotationen fallen, daher werden Sie die @Component Annotation möglicherweise nicht oft verwenden.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Beispiel

Lassen Sie uns eine sehr einfache Spring Maven-Anwendung erstellen, um die Verwendung der Spring Component Annotation zu demonstrieren und wie Spring sie mit einer auf Annotationen basierenden Konfiguration und Klassenpfad-Scanning automatisch erkennt. Erstellen Sie ein Maven-Projekt und fügen Sie die folgende Spring Core-Abhängigkeit hinzu.

Code
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context</artifactId>
	<version>5.0.6.RELEASE</version>
</dependency>

Das ist alles, was wir benötigen, um die Kernfunktionen des Spring Frameworks zu nutzen. Lassen Sie uns eine einfache Komponentenklasse erstellen und sie mit der Spring Component Annotation Annotation kennzeichnen.

Go
package com.journaldev.spring;

import org.springframework.stereotype.Component;

@Component
public class MathComponent {

	public int add(int x, int y) {
		return x + y;
	}
}

Jetzt können wir einen auf Annotationen basierenden Spring-Kontext erstellen und daraus den MathComponent Bean beziehen.

Go
package com.journaldev.spring;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class SpringMainClass {

	public static void main(String[] args) {
		AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
		context.scan("com.journaldev.spring");
		context.refresh();

		MathComponent ms = context.getBean(MathComponent.class);

		int result = ms.add(1, 2);
		System.out.println("Addition of 1 and 2 = " + result);

		context.close();
	}

}

Führen Sie einfach die obige Klasse als normale Java-Anwendung aus und Sie sollten folgende Ausgabe in der Konsole erhalten.

Code
Jun 05, 2018 12:49:26 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@ff5b51f: startup date [Tue Jun 05 12:49:26 IST 2018]; root of context hierarchy
Addition of 1 and 2 = 3
Jun 05, 2018 12:49:26 PM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Closing org.springframework.context.annotation.AnnotationConfigApplicationContext@ff5b51f: startup date [Tue Jun 05 12:49:26 IST 2018]; root of context hierarchy

Haben Sie die Stärke von Spring erkannt? Wir mussten nichts tun, um unsere Komponente in den Spring-Kontext zu injizieren.

Wir können auch den Namen der Komponente angeben und sie dann unter Verwendung desselben Namens aus dem Spring-Kontext beziehen.

Code
@Component("mc")
public class MathComponent {
}
MathComponent ms = (MathComponent) context.getBean("mc");

Obwohl ich die @Component Annotation mit MathComponent verwendet habe, ist es tatsächlich eine Service-Klasse und wir sollten die @Service Annotation verwenden. Das Ergebnis wird immer noch das gleiche sein.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Unser Team hilft Ihnen bei Ihrem konkreten Setup weiter – von Menschen, die die Plattform selbst betreiben.

War dieses Tutorial hilfreich?

Ihre Antwort wird anonym gespeichert und hilft uns, die Tutorials zu verbessern.

Kommentare

Noch keine Kommentare – stellen Sie die erste Frage zu diesem Tutorial.

Zum Kommentieren anmelden

Kommentare stehen centron-Kunden offen. Melden Sie sich in Ihrem Konto an, um eine Frage zu diesem Tutorial zu stellen.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren