springboot获取bean对象时地址值不一样
时间: 2024-01-07 21:05:57 浏览: 155
Spring Boot 在创建 Bean 时会使用单例模式,即默认情况下每个 Bean 只会被创建一次,因此获取同一个 Bean 时得到的地址值应该是相同的。如果获取的地址值不一样,可能是以下原因导致的:
1. 多次创建了同一个 Bean:可以通过在 Bean 上加上 `@Scope("singleton")` 注解或者使用 `@Component`、`@Service`、`@Repository` 等注解来确保 Bean 的单例模式。
2. 使用了不同的 ApplicationContext:如果在不同的 ApplicationContext 中获取 Bean,得到的地址值就会不一样。可以通过在所有 ApplicationContext 中使用 `@Autowired` 或 `@Resource` 来确保使用同一个 Bean。
3. 配置了不同的 Bean 名称:如果在获取 Bean 时指定了不同的 Bean 名称,得到的地址值也会不一样。
综上,如果获取同一个 Bean 时得到的地址值不一样,需要检查是否存在上述原因。
阅读全文