Ich war neugierig auf gab es eine Möglichkeit für mich, ein Repository impl mit autoverschalteten Kandidaten mit einer Anwendung main() (zu Testzwecken) laufen zu lassen.Ich versuche, Repository impl mit autowired Kandidaten zum Testen zu laufen
Ich weiß, das Problem ist, dass die Repo-Klasse, die das Haupt enthält, nicht in der main() -Methode verdrahtet wird, was dazu führt, dass keiner der autowired Kandidaten verdrahtet wird, aber ich habe Schwierigkeiten, die Syntax zu finden Dies geschieht.
Das Code-Snippet Probe ist unten, sowie Kommentare in dem Abschnitt, wo ich das Problem bin Begegnung mit
@Repository
@Transactional
public class RepositoryImpl implements Repository {
@Autowired
JdbcTemplate jdbcTemplate;
String query = "some query"
@Override
public boolean runQuery() {
Object[] params = {param1, param2};
boolean result = jdbcTemplate.queryForObject(query , params, Integer.class) == 1;
return result;
}
//included just for testing purposes
public static void main(String[] args) {
/*this is where i would like to run runQuery() to see a sample output
* something like this:
* repositoryImpl = new RepositoryImpl();
* syso(repositoryImpl.runQuery());
*/
}
}
ich in einen Null-Zeiger laufen, die von jdbc Vorlage kommt nicht richtig verdrahtet werden. Könnte mir jemand sagen, wie man eine Klasse mit einer eigenständigen Anwendung main() autowire?
Ist das überhaupt möglich?
Danke für Ihre Hilfe!
Sind Sie sicher, dass Ihre Abfrage etwas zurückgibt, nehme ich an, dass Sie hier eine NullPointerException erhalten 'jdbcTemplate.queryForObject (query, params, Integer.class)' also bitte zeigen Sie uns weitere Details, damit wir Ihnen –
helfen können Integers mit '.equals()' not '==' –
leider ist das einzige, was der Stacktrace zeigt mir 'java.lang.NullPointerException: null' und die Problem-Zeile ist in der Tat ' jdbcTemplate.queryForObject (Abfrage, Parameter , Integer.class) ' –