Salve a tutti.
Ho realizzato una classe Java in Spring che espone servizi REST:
codice:
package it.CarsDB.boot.service;


import java.util.List;


import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;


import it.CarsDB.boot.DAO.ResellerInterface;
import it.CarsDB.boot.model.Reseller;
import it.CarsDB.boot.utilities.CSVReader;


@RestController
@CrossOrigin
@RequestMapping("/Reseller")
public class ResellerController {
    @Autowired
    private ResellerInterface repository;
    private boolean dbPopulated = false;
    
    private void insertResellers(String csv_path)
    {
        // read files
        List<List<String>> resellersData = CSVReader.readFile(csv_path);
        
        // insert resellers
        for(int index = 1; index<resellersData.size(); index++)
        {
            // data of a single reseller
            List<String> resellerStrings = resellersData.get(index);
            
            // populate bean
            Reseller reseller = new Reseller();
            reseller.setName(resellerStrings.get(0));
            reseller.setSurname(resellerStrings.get(1));
            reseller.setEmail(resellerStrings.get(2));
            reseller.setSsn(resellerStrings.get(3));
            
            // insert reseller
            repository.save(reseller);
        }
        
    }
    
    @RequestMapping(value = "/getModel", method = RequestMethod.GET)
    public Reseller getModel() {
        return new Reseller();
    }
    
    @RequestMapping(value = "/insertReseller", method = RequestMethod.POST)
    public ResponseEntity<Reseller> saveReseller(@RequestBody Reseller reseller)
    {
        try {
            repository.save(reseller);
            return new ResponseEntity<>(reseller, HttpStatus.CREATED);
        }


        catch (Exception e) {
            return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
        }


    }
    
    
    @RequestMapping(value = "/findReseller{ssn}", method = RequestMethod.GET)
    public /*ResponseEntity<Reseller>*/ Reseller findResellerBySsn(@PathVariable("ssn") String ssn)
    {
        try
        {
            if(!dbPopulated)
            {
                insertResellers("src/main/resources/datasets/people_data.csv");
                System.out.println("DB populated");
                dbPopulated = true;
            }
            
            Reseller reseller = repository.findBySsn(ssn).get(0);
            if(reseller != null)
                //return new ResponseEntity<>(reseller, HttpStatus.FOUND);
                return reseller;
            
            else
                //return new ResponseEntity<>(HttpStatus.NO_CONTENT);
                return null;
            
        }
        
        catch(Exception e)
        {
            //return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
            return null;
        }
    }
    




}
Qui tutto funziona correttamente.
Soprattutto, l'interfaccia repository definita come
codice:
package it.CarsDB.boot.DAO;


import java.util.List;


import org.springframework.data.repository.CrudRepository;


import it.CarsDB.boot.model.Reseller;


public interface ResellerInterface extends CrudRepository<Reseller, String> {
    public List<Reseller> findBySsn(String ssn);
}
viene correttamente inizializzata.
Tuttavia, se si crea una normale classe, il cui scopo è avere semplicemente dei metodi per il popolamento del DB (quindi, nessun servizio REST), con la medesima dichiarazione
codice:
@Autowired
private ResellerInterface repository;
tale variabile risulta sempre non inizializzata (è sempre posta a null) e non è possibile utilizzarla per inserire i dati nel DB.
Come mai?
Esiste un modo per poterla far funzionare anche in quest'altro ambito?

Grazie.