Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 注入一个在不同类中填充的bean_Java_Spring_Spring Boot_Spring Mvc_Dependency Injection - Fatal编程技术网

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的变化值相同。