Spring Boot - repository und DataSoruce nur wenn flag gesetzt

Hallo,
Ich versuche gerade vergeblich, folgendes zu realisieren.

Ich habe ein Sping Boot Projekt. Eine Haupt-Doing Klasse ThomasMain, die via @autoconfigure in die Application-Klasse gehängt wird. Diese Klasse ThomasMain bekommt ein Repository mit @autoconfigure reingereicht. Zusätzlich mehrere properties, u.a. ein Flag, ob die Datenbank befragt werden soll. In Abhängigkeit von dem flag soll die Datenbank befragt werden. Falls das false ist, soll nichts erstellt werden. Insbesondere möchte keine (valide) Einträge in der applications.properties drin haben. (also können sie auskommentiert sein, ohne dass das Fehlen einer url oder hibernate.config angemeckert wird)

#spring.datasource.url=jdbc:oracle:thin:@10.8.1.5:1521:tnt
#spring.datasource.username=ttuser
#spring.datasource.password=ttpassword

class ThomasMain{

  @Value("${tt.config.usedb:false}")
  private boolean useDB;

  @Autowired(required = false)
  private thomasRepository thomasRepository;

  void mainDoingMethode(){
     if (useDB) {
        Thomas = thomasRepository.findbyName("bla");
         machwas(Thomas);
     }
    else{
        // ohne DB
        Thomas = new Thomas();;
         machwas(Thomas);
     }
  }
}

Repository ist simpel.

@Repository
@ConditionalOnProperty(prefix = "tt.config", name = "usedb")
public interface ThomasRepository extends JpaRepository<Thomas, Long> {

  Thomas findByName(String name);
}

Es gelingt mir nicht.
Er meckern meistens rum, dass

A component required a bean of type ‚javax.persistence.EntityManagerFactory‘ that could not be found.

Ich will aber weder ein Repository noch eine DataSource, noch sonstwas.

Das sollte doch eigentlich einfach sein, die Instanzierung und Autoverkabelung von Repository und alles was drunter liegt mittels config-flag usedb auszuschalten.

Kann mir jemand helfen?

Grüße Thomas

Hi!

Kenne mich nicht wirklich aus, aber es scheint dass das havingValue gesetzte sein muss, zumindest ist es in diesem Beispiel so: The Spring @ConditionalOnProperty Annotation | Baeldung

Das Problem ist, dass geschaut wird, ob das Interface JpaRepository benutzt wird.
Falls ja wird versucht es zu bauen und dann fehlen die Entity* Klassen.