يعطيValue من application.properties في SpringBoot قيمة فارغة طوال الوقت

0

كيفية إدخال القيمة بشكل صحيح من ملف application.properties؟

الفئة الرئيسية:

@SpringBootApplication
public class Main {


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

ملف application.properties:

my.password=admin

فئة الاختبار:

@Component
public class Test {
    @Value("${my.password}")
    private String mypassword;

    public String getMypassword() {
        return mypassword;
    }

    public void setMypassword(String mypassword) {
        this.mypassword = mypassword;
    }

    public Test(){
        System.out.println("@@@@@@@@@@@@@@@@@@@"+ mypassword);
    }
}

تتم طباعة وحدة التحكم دائمًا فارغة ، وليس القيمة من application ملف

2 الاجابة

2
افضل جواب

لا يتم حقن الخصائص عند إنشاء الفصل الدراسي (أي عندما يتم استدعاء المنشئ) ، ولكن بعد ذلك بقليل. وبالتالي ترى فارغة في المنشئ.

حاول إضافة طريقة تم التعليق عليها باستخدام @PostConstruct مثل هذا وتحقق من النتيجة:

@PostConstruct
public void afterCreation(){
    System.out.println("@@@@@@@@@@@@@@@@@@@"+ mypassword);
}
:مؤلف
0

pvpkiran أحاول إضافة هذا إلى طريقي الرئيسي ، والباقي لم يتغير.

@SpringBootApplication
public class Application {
    @Autowired
    static Test  t;
    public static void main(String args[]){
        SpringApplication.run(Application.class,args);

        t.foobar();
    }
}
:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام