I have a spring boot REST service with the following structure:
├── src
│   ├── main
│   │   ├── java
│   │   │   ├── daos
│   │   │   ├── db
│   │   │   │   └── DBConnector.java
│   │   │   ├── serviceComponents
│   │   │   │   └── serviceResources
│   │   │   │       ├── Application.java
│   │   │   │       ├── UserController.java
│   │   │   │       └── UserDAO.java
│   │   │   └── serviceRepresentations
│   │   │       └── User.java
│   │   └── resources
│   │       └── application.properties
The main files related to this question are:
Application.java:
package serviceComponents.serviceResources;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
@SpringBootApplication(exclude = {ErrorMvcAutoConfiguration.class})
@ComponentScan
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
DBConnector.java:
package db;
import java.sql.Connection;
import java.sql.SQLException;
import oracle.jdbc.pool.OracleDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class DBConnector {
    @Value("${current.app.url}")
    String dbUrl;
    @Value("${current.app.sid}")
    String dbSid;
    @Value("${current.app.port}")
    String dbPort;
    @Value("${current.app.user}")
    String dbUser;
    @Value("${current.app.password}")
    String dbPassword;
    String jdbcUrl = String.format("jdbc:oracle:thin:@%s:%s:%s", dbUrl, dbPort, dbSid);
    Connection conn;
    int count = 0;
    public DBConnector() {}
    @PostConstruct
    private void init() {
        try {
            Class.forName("oracle.jdbc.OracleDriver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        OracleDataSource ds = null;
        try {
            ds = new OracleDataSource();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        ds.setURL(jdbcUrl);
        try {
            conn = ds.getConnection(dbUser, dbPassword);
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    public Connection getDBConnection() throws SQLException {
        if (count == 0) {
            init();
            count++;
        }
        return conn;
    }
}
And the properties file:
server.port = 8089
test.app.url = 127.0.0.1
test.app.sid = XE
test.app.port = 1521
test.app.user = foouser
test.app.password = barbazpass
current.app.url = test.app.url
current.app.sid = test.app.sid
current.app.port = test.app.port
current.app.user = test.app.user
current.app.password = test.app.password
And there is the relevant piece of code from the controller:
@RestController
@RequestMapping("/v1/user/")
public class UserController {
    DBConnector dbConnector = new DBConnector();
    UserDAO userDAO = new UserDAO(dbConnector);
However when I run the application, the fields from DBConnector.java annotated with @Value are not populated with the expected values from the configuration file. I know that spring boot detects application.properties as the default configuration file for a project. What am I doing wrong?  
 
    