Tutorials  /  Linux Basics

Spring @Service Annotation: Leitfaden

Ccentron Redaktion · Februar 2024 ·3 Min. Lesezeit ·Linux Basics, Tutorial

Die Spring @Service Annotation ist eine Spezialisierung der @Component Annotation. Die Spring Service Annotation kann nur auf Klassen angewendet werden. Sie wird verwendet, um die Klasse als Dienstanbieter zu markieren.

Die Spring @Service Annotation wird bei Klassen verwendet, die bestimmte Geschäftsfunktionalitäten bereitstellen. Der Spring-Kontext erkennt diese Klassen automatisch, wenn die konfigurationsbasierte und klassenpfad-basierte Scannung verwendet wird.

Spring @Service Beispiel

Lassen Sie uns eine einfache Spring-Anwendung erstellen, in der wir eine Spring-Serviceklasse erstellen. Erstellen Sie ein einfaches Maven-Projekt in Eclipse und fügen Sie folgende Spring Core-Abhängigkeit hinzu.

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

Unsere endgültige Projektstruktur wird wie das folgende Bild aussehen.

Spring service annotation example

Lassen Sie uns eine Service-Klasse erstellen.

Go
package com.journaldev.spring;

import org.springframework.stereotype.Service;

@Service("ms")
public class MathService {

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

Beachten Sie, dass es sich um eine einfache Java-Klasse handelt, die Funktionalitäten zum Addieren und Subtrahieren von zwei Ganzzahlen bereitstellt. Wir können sie also als Dienstanbieter bezeichnen. Wir haben sie mit der @Service Annotation versehen, damit der Spring-Kontext sie automatisch erkennen kann und wir ihre Instanz aus dem Kontext erhalten können. Lassen Sie uns eine Hauptklasse erstellen, in der wir den anmerkungsgesteuerten Spring-Kontext erstellen und die Instanz unserer Serviceklasse erhalten.

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();

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

        int add = ms.add(1, 2);
        System.out.println("Addition von 1 und 2 = " + add);

        int subtract = ms.subtract(2, 1);
        System.out.println("Subtraktion von 2 und 1 = " + subtract);
        
        //schließen des Spring-Kontextes
        context.close();
    }

}

Führen Sie einfach die Klasse als eine Java-Anwendung aus, es wird folgende Ausgabe produzieren.

Code
Jun 05, 2018 3:02:05 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Aktualisierung org.springframework.context.annotation.AnnotationConfigApplicationContext@ff5b51f: Startdatum [Di. Jun 05 15:02:05 IST 2018]; Wurzel der Kontexthierarchie
Addition von 1 und 2 = 3
Subtraktion von 2 und 1 = 1
Jun 05, 2018 3:02:05 PM org.springframework.context.support.AbstractApplicationContext doClose
INFO: Schließen org.springframework.context.annotation.AnnotationConfigApplicationContext@ff5b51f: Startdatum [Di. Jun 05 15:02:05 IST 2018]; Wurzel der Kontexthierarchie

Wenn Sie unsere MathService-Klasse beachten, haben wir den Dienstnamen als „ms“ definiert. Wir können die Instanz von MathService auch mit diesem Namen erhalten. Das Ergebnis bleibt in diesem Fall gleich. Allerdings müssen wir explizites Casting verwenden.

Code
MathService ms = (MathService) context.getBean("ms");
VM

Passende Infrastruktur bei centron

Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →

Fazit

Das ist alles für ein schnelles Beispiel der Spring @Service Annotation.

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 Linux Basics
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

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