在JavaSpring框架中登录控制台是如何工作的

在JavaSpring框架中登录控制台是如何工作的,java,spring,spring-boot,spring-mvc,Java,Spring,Spring Boot,Spring Mvc,我有一个非常简单的Spring应用程序,但我无法将System.out.println语句打印到控制台中 这是我正在打印.yml文件中的env变量集的主应用程序文件 import path.config.Config; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.SpringApplication; import org.springframewor

我有一个非常简单的Spring应用程序,但我无法将
System.out.println
语句打印到控制台中

这是我正在打印
.yml
文件中的env变量集的主应用程序文件

import path.config.Config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainApplication {

    @Autowired
    private Config config;

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(MainApplication.class);
        app.run();
    }

    public void run(String... args) throws Exception {
        System.out.println("env: " + config.getEnv());
    }

}
配置文件如下所示:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class Config {
    private String env;

    public void setEnv(String env) {
        this.env = env;
    }

    public String getEnv() {
        return this.env;
    }
}
最后是yml文件的属性

spring: 
    profiles.active: dev
    h2:
        console:
            enabled: true
---
spring:
    profiles: dev
env: dev
---
spring:
    profiles: test
env: test
---
spring:
    profiles: prod
env: prod

Spring应用程序构建了一个运行良好的应用程序,但是,我看不到要在终端中显示的
env
变量。我看到过这样的例子:人们使用带有请求端点的控制器来调试浏览器中的环境变量。这是唯一的选项吗?

对您的代码进行几处更改,启动spring应用程序不需要使用
new
关键字,您可以直接使用静态方法

其次,
main应用程序中的
run
方法只有在该类实现时才会执行


对代码进行一些更改,启动spring应用程序不需要使用
new
关键字,您可以直接使用静态方法

其次,
main应用程序中的
run
方法只有在该类实现时才会执行


您在控制台中没有任何日志吗?你的应用启动了吗?应用启动了。我在控制台中看到了所有Spring初始化过程(tomcat、h2等),但不确定如何使用
Systemm.out.println
检查我的答案@chrisa您在控制台中没有得到任何日志吗?你的应用启动了吗?应用启动了。我在控制台中看到了所有Spring初始化过程(tomcat、h2等),但不确定如何使用
Systemm.out.println
检查我的答案@chris查找标准日志
 public static void main(String[] args) {
    SpringApplication.run(MainApplication.class);
  
}
@SpringBootApplication
public class MainApplication implements CommandLineRunner {

    @Autowired
    private Config config;

    public static void main(String[] args) {
          SpringApplication.run(MainApplication.class);
    }

    public void run(String... args) throws Exception {
          System.out.println("env: " + config.getEnv());
     }

  }