我正在配置一个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,然后流向另一个项目中的类。我需要在该类中使用的对象。说实话,在许多其他项目中也是如此!我无法弄明白该怎么做。也没有太多的例子供参考。
答案 0 :(得分:1)
您通常不会将@Configuration bean注入其他Spring托管bean,因为它设置了其他Spring托管bean使用的配置。
例如,因为您已经声明了@PropertySource,要在其他Spring管理方式中访问您的属性,您可以使用@Value将属性注入其他地方的代码中。您不需要注入APPStaticProperties bean来执行此操作。