Java >> Java tutorial >  >> Java

CommandLineRunner tilsidesatte run()-metoden udføres ikke

Problemet :tilsidesat run() metode fra CommandLineRunner klasse bliver ikke udført.

Mappestruktur :

Kode :

Hovedklasse :

package com.diplproj.api;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class, args);
    }

}

CommandLineRunner-klassen :

package com.diplproj.api.config;

import com.diplproj.api.repository.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import java.sql.*;

@Component
public class DbInitialization implements CommandLineRunner {

    @Autowired
    CropYieldRepository cropYieldRepository;
    @Autowired
    CultureRepository cultureRepository;
    @Autowired
    LocationRepository locationRepository;
    @Autowired
    MicroclimateNameRepository microclimateNameRepository;
    @Autowired
    MicroclimateValueRepository microclimateValueRepository;

    @Override
    public void run(String... args) throws Exception {
        System.out.println("THIS IS NOT PRINTING");
    }

Som det står i println() metode, dette udskriver ikke noget, kun denne opstartslog:

2021-12-12 17:51:09.371  INFO 17832 --- [  restartedMain] com.diplproj.api.ApiApplication          : Starting ApiApplication using Java 1.8.0_291 on DESKTOP-6IFP1I4 with PID 17832
2021-12-12 17:51:09.373  INFO 17832 --- [  restartedMain] com.diplproj.api.ApiApplication          : No active profile set, falling back to default profiles: default
2021-12-12 17:51:09.452  INFO 17832 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2021-12-12 17:51:09.452  INFO 17832 --- [  restartedMain] .e.DevToolsPropertyDefaultsPostProcessor : For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2021-12-12 17:51:10.706  INFO 17832 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2021-12-12 17:51:10.835  INFO 17832 --- [  restartedMain] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 111 ms. Found 5 JPA repository interfaces.
2021-12-12 17:51:11.819  INFO 17832 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-12-12 17:51:11.830  INFO 17832 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-12-12 17:51:11.831  INFO 17832 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.55]
2021-12-12 17:51:11.971  INFO 17832 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-12-12 17:51:11.971  INFO 17832 --- [  restartedMain] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2518 ms
2021-12-12 17:51:12.215  INFO 17832 --- [  restartedMain] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2021-12-12 17:51:12.278  INFO 17832 --- [  restartedMain] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.6.1.Final
2021-12-12 17:51:12.468  INFO 17832 --- [  restartedMain] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2021-12-12 17:51:12.676  INFO 17832 --- [  restartedMain] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...

Der er et par eksisterende spørgsmål om dette emne på Stackoverflow, men intet hjalp. Er der nogen, der har en idé om, hvad der kan forårsage problemet?

På forhånd tak.

Svar

Det er mærkeligt for at være ærlig. For mig fungerer det uden problemer. Begynder dit forårsprojekt dog med succes?

Started Application in 4.728 seconds (JVM running for 5.885)

Denne besked mangler i din log. CommandLineRunner vil blive udført efter den besked.

En anden ting at bemærke er, at du skal erklære alle afhængighedsinjektionsvariabler som private, men det bør alligevel ikke blokere Commandlinerunner. Også @AutoWired frarådes at bruge, så prøv konstruktorafhængighedsinjektion i stedet for at se, om det forårsager problemet.


Java tag