SpringApplicationBuilder中parent的应用场景
时间: 2023-02-13 09:03:57 浏览: 87
SpringApplicationBuilder中的parent属性是指定一个父类ApplicationContext,在构建子类ApplicationContext时可以使用父类ApplicationContext中的bean。
这个属性主要用于在多个应用之间共享bean的场景。例如,可以将一些公共的bean配置到父类ApplicationContext中,然后在构建子类ApplicationContext时指定父类ApplicationContext,这样子类ApplicationContext就可以直接使用父类ApplicationContext中的bean。
举个例子,假设我们有一个应用A和应用B,其中应用A有一些公共的bean,我们希望在应用B中也能使用这些公共的bean。这时我们就可以在应用A中使用SpringApplicationBuilder构建ApplicationContext,并在构建时指定parent属性为null;在应用B中使用SpringApplicationBuilder构建ApplicationContext时,指定parent属性为应用A的ApplicationContext,这样应用B就可以直接使用应用A中的公共bean了。
相关问题
SpringApplicationBuilder中parent的使用样例
SpringApplicationBuilder 是 Spring Boot 的一个工具类,主要用于创建 SpringApplication 对象并运行 Spring 应用程序。 parent 属性用于指定父上下文,可以使用该属性在同一应用程序中创建多个 Spring 应用程序并使它们共享相同的父上下文。
下面是一个使用 SpringApplicationBuilder 创建两个 Spring 应用程序并使用 parent 属性指定它们共享父上下文的示例代码:
```
import org.springframework.boot.SpringApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.ConfigurableApplicationContext;
public class Application {
public static void main(String[] args) {
ConfigurableApplicationContext parentContext = SpringApplication.run(ParentConfiguration.class, args);
new SpringApplicationBuilder(ChildConfiguration.class)
.parent(parentContext)
.run(args);
}
}
```
在这个示例中,我们首先运行了 ParentConfiguration 类,然后使用 SpringApplicationBuilder 创建了一个新的 Spring 应用程序,使用 parent 方法指定 parentContext 作为父上下文,并使用 run 方法运行了应用程序。这样,ChildConfiguration 类就可以在父上下文中共享 bean 和其他资源。
cmake中PARENT_SCOPE
在CMake中,PARENT_SCOPE是一个用于设置变量作用域的特殊标识符。当在一个函数或者一个if语句块中定义了一个变量,并且希望将其传递到父级作用域时,可以使用PARENT_SCOPE。
具体来说,当在一个函数内部使用set命令定义了一个变量,并且在该函数外部也需要使用这个变量时,可以在set命令中添加PARENT_SCOPE标识符,将变量的作用域提升到父级作用域。
以下是一个示例:
```
function(example_function)
set(local_variable "Hello" PARENT_SCOPE)
endfunction()
example_function()
message("Variable value: ${local_variable}")
```
在上面的示例中,我们在example_function函数内部定义了一个名为local_variable的变量,并使用PARENT_SCOPE将其作用域提升到了父级作用域。因此,在函数外部使用message命令输出local_variable的值时,可以正常访问到该变量。