Comments (5)
Thanks for the report and the test.
I investigated the problem and found out that it is probably a bug in Spring framework itself. The embedded database library uses a bean implementing FactoryBean<DataSource>
interface for creating the data source bean and it looks like Spring framework is not able to evaluate factory bean properly when the direct calling of bean providing method is used.
But I found a workaround, try this:
@Bean
public CustomBean someOtherBeanThatDependsOnDataSource(DataSource dataSource) {
return new CustomBean(dataSource);
}
Is this solution sufficient for you?
from embedded-database-spring-test.
Yes, I believe that would work :)
I also found another workaround where I can put the DataSource
bean definition in a separate @Configuration
class, and then use @Autowired
to get the bean instance needed to construct "someOtherBeanThatDependsOnDataSource".
from embedded-database-spring-test.
It's possible that indirect autowiring is not so strict for the bean type as in the case of the direct calling of the method. Unfortunately, I'm not able to solve this problem easily because I use standard techniques of Spring framework for bean creation. It should work, but it does not work. So, can I close this issue?
from embedded-database-spring-test.
yes, you may close. Keep up the good work :)
from embedded-database-spring-test.
I'm reopening this issue, because since Spring 5.0 it's possible to bypass the problem by using AbstractBeanDefinition#setInstanceSupplier
method instead of the factory bean.
from embedded-database-spring-test.
Related Issues (20)
- [Q]: Is there a way to use the latest testcontainer version HOT 2
- Updated Dependencies leads to different Integration test behaviour HOT 6
- Build with -parameters compiler arg HOT 1
- Spring Boot 3.1 Support HOT 8
- Upgrade to Embedded Postgres 2.0.5
- All data providers being required when only a specific one is specified HOT 5
- Zonky "initdb" file getting returning file not found HOT 4
- Multiple PostgreSQL clusters (instances) HOT 1
- Tests using @FlywayTest(locationsForMigrate) failing after changing spring and flyway versions HOT 3
- Setting PostgreSQL max_connections value in properties gives PSQLException HOT 2
- Custom docker image with test data: How to use as a template HOT 4
- [Q]: Any plans to update testcontainers? HOT 5
- Flyway migration in multitenant application HOT 1
- Transitive vulnerable dependency HOT 1
- Use Zonky provider with PostGIS HOT 3
- For Flyway 9.9+ JavaMigration beans are not applied HOT 4
- Upgrade to Embedded Postgres 2.0.7
- db rider with zonkyio embedded postgresql HOT 3
- data type (1111, 'jsonb') not recognized and will be ignored HOT 1
- DockerClientProviderException HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from embedded-database-spring-test.