相关疑难解决方法(0)

Spring Data存储库是如何实际实现的?

我已经在我的项目中使用Spring Data JPA存储库一段时间了,我知道以下几点:

  • 在存储库接口中,我们可以添加类似的方法findByCustomerNameAndPhone()(假设customerNamephone是域对象中的字段).
  • 然后,Spring通过在运行时(在应用程序运行期间)实现上述存储库接口方法来提供实现.

我感兴趣的是如何对它进行编码,我已经查看了Spring JPA源代码和API,但我找不到以下问题的答案:

  1. 如何在运行时和方法中生成并注入存储库实现类?
  2. Spring Data JPA是否使用CGlib或任何字节码操作库来实现方法并动态注入?

您能否帮助解决上述问题并提供任何支持的文档?

java spring ddd-repositories repository-pattern spring-data

93
推荐指数
1
解决办法
2万
查看次数

什么时候实例化一个spring bean

ApplicationContext ctx = new ClassPathXmlApplicationContext(
    "com/springinaction/springidol/spring-idol.xml");
Performer performer = (Performer) ctx.getBean("duke");
performer.perform();
Run Code Online (Sandbox Code Playgroud)

在上面,bean何时被实例化,何时创建ApplicationContext或何时调用getBean()?

java spring

27
推荐指数
3
解决办法
4万
查看次数

如何从Spring获取实例化bean列表?

我的Spring上下文中有几个bean有状态,所以我想在单元测试之前/之后重置该状态.

我的想法是一个方法添加到一个辅助类,它只是通过Spring上下文所有豆类去,检查是否存在标注有方法@Before@After与调用它们.

如何从中获取实例化 bean 列表ApplicationContext

注意:简单地遍历所有定义的bean的解决方案是无用的,因为我有许多懒惰的bean,其中一些不能被实例化,因为对于某些测试会失败(即我有一个需要的bean,java.sql.DataSource但测试工作因为他们不'需要那个豆).

junit spring state

18
推荐指数
1
解决办法
2万
查看次数