Je développe une application de démarrage de printemps et j'ai besoin d'une classe commune pour me fournir des connexions de base de données pour tous les contrôleurs Donc je crée une classe sepeate comme suit:Comment faire différentes classes pour les connexions DB
@RestController
public class DataBaseConnector{
@Autowired
@Qualifier("dataSource")
public static DataSource dataSource;
@Bean
@Primary
@ConfigurationProperties(prefix = "spring.ds")
public DataSource DataSourcePGStreet() {
return DataSourceBuilder.create().build();
}
@Autowired
public Connection giveConnection() throws SQLException{
return dataSource.getConnection();
}
}
Ensuite, dans un autre contrôleur i appelle la connexion comme ci-dessous:
@Autowired
@Qualifier("dbc")
private static DataBaseConnector obj;
@Autowired
private Connection connectionDatabase;
.../// Rest Code
@RequestMapping(value="/path",produces={MediaType.APPLICATION_JSON_VALUE},method=RequestMethod.GET)
public ResponseEntity<?> getStreetScore(){
obj=new DataBaseConnector();
connectionDatabase=obj.giveConnection();
}
Mais cela me renvoie une erreur de
création d'erreur de nom avec l'aide DataBaseConnector.Any est un ppreciated
Description:
Field dataSource in com.dmmltasmu.controller.DataBaseConnector required a bean of type 'javax.sql.DataSource' that could not be found.
- Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required class 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'
- Bean method 'dataSource' not loaded because @ConditionalOnClass did not find required classes 'javax.transaction.TransactionManager', 'org.springframework.jdbc.datasource.embedded.EmbeddedDatabaseType'
S'il vous plaît inclure le stacktrace complet – ChristofferPass
@ChristofferPass ajouté plein stacktrace – Ricky
Utilisez ce guide: https://medium.com/@joeclever/using-multiple-datasources-with-spring-boot-and-spring-data-6430b00c02e7 A travaillé pour moi. – elysrivero99