Ich werde diese Seite entziffern.
Umgebung sts 3.8.4 Starten Sie sts und suchen Sie nach dem Zielprojekt unter "Datei" -> "Neu" -> "Import Spring Getting Started Content". Ich habe es importiert und seinen Betrieb bestätigt.
Hintergrund Ich lernte Spring Boot, aber ich beschloss, das Originaldokument zu lesen, ohne mich auf kommerzielle Bücher zu verlassen. Es ist alles auf Englisch, also habe ich Mühe, es zu lesen.
Java-Kenntnisse Informationen zu Oracle Java8 Silver
Ich schreibe es als Memorandum zum Lernen. Wenn Sie Ratschläge haben, wie z. B. zu korrigierende Punkte oder Ergänzungen, zögern Sie bitte nicht, uns zu kontaktieren.
ScheduledTasks.java
package hello;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
public class ScheduledTasks {
private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss");
@Scheduled(fixedRate = 5000)
public void reportCurrentTime() {
log.info("The time is now {}", dateFormat.format(new Date()));
}
}
Zunächst aus diesem Code. Durch Festlegen von "@ Component" kann es in der Hauptklasse von Application.java verwendet werden, die als Nächstes erstellt wird. Die Hauptklasse muss mit "@ SpringBootApplication" (einschließlich "@ ComponentScan") versehen sein. Auf diese Weise können Sie die Komponenten im selben Paket automatisch finden. Die hier erstellten Komponenten sind ebenfalls verfügbar.
In dieser Klasse haben wir einen Mechanismus erstellt, mit dem das Protokoll alle 5 Sekunden auf der Konsole angezeigt wird.
private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class);
Holen Sie sich den Logger bei.
LoggerFactory ist eine Protokollierungsbibliothek, die von den Entwicklern von Log4j erstellt wurde. Legen Sie ein Klassenobjekt einer Klasse fest, die einen Logger wie "ScheduledTasks.class" als Argument verwendet.
Dadurch kann log.info () standardmäßig auf der Konsole angezeigt werden.
Wenn Sie die Anmerkung "@Scheduled (fixedRate = 5000)" hinzufügen, wird die Methode regelmäßig ausgeführt. Wenn Sie eine Methode mit einem Argument versehen, tritt übrigens eine Ausnahme auf. Durch Angabe von "@ EnableScheduling" in der als nächstes zu erstellenden Datei wird die Methode mit "@ Scheduled" ausgeführt.
Ich werde das SimpleDateFormat und das Datum weglassen.
Schauen wir uns als nächstes den Code von application.java an, der die Hauptmethode enthält.
Application.java
package hello;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class);
}
}
Dieser Code ist mit "@ SpringBootApplication" versehen. Dies liest @ Configuration`` @ EnableAutoConfiguration`` @ EnableWebMvc`` @ ComponentScan
als Set.
@ ComponentScan
findet die gerade erstellte ScheduledTasks-Klasse. Mit "@ EnableScheduling" wird die mit "@Scheduled (fixedRate = 5000)" annotierte reportCurrentTime () -Methode regelmäßig ausgeführt. Anmerkungen scheinen eine komplexere Planung zu ermöglichen, indem "@Scheduled (cron =" ")" verwendet wird.
Wenn Sie in sts auf den Projektnamen klicken und die Wiedergabetaste drücken, wird dieser automatisch kompiliert und ausgeführt.
Alle 5 Sekunden werden Protokolle zur Konsole hinzugefügt.