Java 注入一个在不同类中填充的bean
假设我有两个文件Java 注入一个在不同类中填充的bean,java,spring,spring-boot,spring-mvc,dependency-injection,Java,Spring,Spring Boot,Spring Mvc,Dependency Injection,假设我有两个文件 A.java @RequiredArgsConstructor(onConstructor = @__(@Autowired)) @Component public class A { private bean1 bean1_name1; bean1_name.property1 = "Value1" } B.java public class B { private bean1 bean1_name2; } 我想自动注
A.java
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
@Component
public class A {
private bean1 bean1_name1;
bean1_name.property1 = "Value1"
}
B.java
public class B {
private bean1 bean1_name2;
}
我想自动注入bean1对象,该对象在A.java中修改为注入到类B中。
因此,基本上,当我调用bean1_name 2时,它应该已经包含bean1_name.property1=“Value1”。
显然,这是假设A类在B类之前运行
如果你需要更多的背景,请告诉我
谢谢。将bean1的属性1标记为
静态
可以解决问题。static关键字表示特定成员属于类型本身,而不是该类型的实例。这意味着只创建该静态成员的一个实例,该实例在该类的所有实例中共享。将bean1的属性1标记为static
可以解决此问题。static关键字表示特定成员属于类型本身,而不是该类型的实例。这意味着只创建该静态成员的一个实例,该实例在该类的所有实例中共享。是否可以选择将bean1_name.property1设置为静态?是的,我认为,这是我们可以实现的基本功能,我可以始终将bean1对象传递给类B,但是这里的目标是使用spring来注入它,而不使用额外的内存?如果希望bean具有初始化的属性,则在将bean注入任何位置之前初始化bean时执行此操作,而不是尝试在组件中“拦截”它。bean在另一个组件中被修改,因为它的jsut与代码呈现的方式相同。我不想初始化bean中的任何内容,因为当代码真正执行时,类A中的值会发生变化。所以我需要一种方法来保持a和B中不断变化的值相同。这是使bean1_name.property1静态的一种选择吗?是的,我认为,这是我们可以实现的基本功能,我可以始终将bean1对象传递给类B,但是这里的目标是使用spring来注入它,而不使用额外的内存?如果希望bean具有初始化的属性,则在将bean注入任何位置之前初始化bean时执行此操作,而不是尝试在组件中“拦截”它。bean在另一个组件中被修改,因为它的jsut与代码呈现的方式相同。我不想初始化bean中的任何内容,因为当代码真正执行时,类A中的值会发生变化。所以我需要一种方法来保持a和B的变化值相同。