将Spring Boot属性Bean传递给其他项目中的类

时间:2018-05-15 17:16:09

标签: java spring spring-boot properties

我正在配置一个spring boot应用程序。所以我创建了一个像这样的属性bean类:

import javax.validation.constraints.NotNull;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;

@Configuration
@EnableConfigurationProperties
@PropertySource("classpath:/application.properties")
public class APPStaticProperties {

    @NotNull
    @Value("${dblog.system.name}")
    String db_logsystem_name;

    /**
     * @return the db_logsystem_name
     */
    public String getDb_logsystem_name() {
        return db_logsystem_name;
    }

    /**
     * @param db_logsystem_name the db_logsystem_name to set
     */
    public void setDb_logsystem_name(String db_logsystem_name) {
        this.db_logsystem_name = db_logsystem_name;
    }

}

我正在控制器类中创建一个对象:

@Autowired
APPStaticProperties appStaticProperties;

但我想知道如何传递此对象以用于其他项目?因为我的代码流从控制器流向JSP,然后流向另一个项目中的类。我需要在该类中使用的对象。说实话,在许多其他项目中也是如此!我无法弄明白该怎么做。也没有太多的例子供参考。

1 个答案:

答案 0 :(得分:1)

您通常不会将@Configuration bean注入其他Spring托管bean,因为它设置了其他Spring托管bean使用的配置。

例如,因为您已经声明了@PropertySource,要在其他Spring管理方式中访问您的属性,您可以使用@Value将属性注入其他地方的代码中。您不需要注入APPStaticProperties bean来执行此操作。