У меня есть файл свойств DBconfig со следующими атрибутами:
DB_url = jdbc:mysql://localhost:8080/studentdb
DB_username = root
DB_password = abc123
Я хочу напечатать значения внутри моего класса обслуживания базы данных (DBconnect.class),
@PropertySource("classpath:DBconfig.properties")
public class DBconnection {
private Connection con= null;
@Value("${DB_url}")
private String url;
@Value("${DB_username}")
private String username;
@Value("${DB_password}")
private String password;
public DBconnection() {
System.out.println(url); // Output = null
System.out.println(username); // Output = null
System.out.println(password); // Output = null
}
}
работает точно такой же код, и значения печатаются, когда я пытаюсь распечатать значения с контроллера;
@Controller
@PropertySource("classpath:DBconfig.properties")
public class HomeController {
@Value("${DB_url}")
private String url;
@Value("${DB_username}")
private String username;
@Value("${DB_password}")
private String password;
@RequestMapping(value="/", method=RequestMethod.GET)
public String Message() {
System.out.println(url); //jdbc:mysql://localhost:8080/studentdb
System.out.println(username); //root
System.out.println(password); //abc123
DBconnection conn = new DBconnection();
return "home";
}
}
почему он работает в контроллере, а не в моем пакете услуг? как мне заставить это работать в моем пакете услуг?
У меня есть только 2 пакета в src / main / java;
пакет контроллера (включая HomeController.class)
пакет услуг (DBconnect.class входит в комплект)
src / main / resources содержит файл DBconfig.properties