Spring Injection oder Autowiring DataSource Bean zur Klasse

Dies mag eine sehr unerfahrene Frage sein, aber ich habe gesucht und entweder habe ich eine große Lücke in meinem Verständnis oder mache etwas falsch, was ich nicht herausfinden kann.

In meiner Kontextdatei ist hier ein Auszug

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${datasource.driverClassName}" />
    <property name="url" value="${datasource.url}" />
    <property name="username" value="${datasource.username}" />
    <property name="password" value="${datasource.password}" />
</bean>

<bean id="myBeanOne" class="a.b.c.myBeanOne">
         <property name="dataSource" ref="dataSource" />
</bean>

Jetzt in myBeanOne habe ich:

private DataSource dataSource;

private JdbcTemplate jdbcTemplate;

@Autowired
public void setDataSource (DataSource dataSource) {
    this.jdbcTemplate = new JdbcTemplate(dataSource);
}

public void myMethod() {
    String sql = "'My generic SQL update query'";
    try {
        this.jdbcTemplate.update(sql);
    } catch (org.springframework.dao.EmptyResultDataAccessException ex) {
    }
    System.exit(0);
}

Wenn ich versuche, dies in der Zeile auszuführen, in der setDataSource aufgerufen wird, erhalte ich den folgenden Fehler:

ERROR org.springframework.integration.handler.LoggingHandler 
    org.springframework.integration.MessageHandlingException: 
       java.lang.NullPointerException

an der Leitung:this.jdbcTemplate.update(sql);

Ich habe vielleicht zehn verschiedene Konfigurationen ausprobiert, um dies zum Laufen zu bringen, aber ich kann es anscheinend nicht tun. Jede Hilfe wird geschätzt, danke.

Bearbeiten: gemäß Luiggis Kommentar:

//in yet another classes run method
myBeanOne bOne = SomeOtherClass.create();   //just returns new myBeanOne
bOne.myMethod();

Weder SomeOtherClass noch diese Klasse werden im Kontext als Beans klassifiziert oder sind im Kontext nicht vorhanden.

Ich weiß, dass dies eine sehr grundlegende Frage ist, aber ich habe Probleme damit.

Vielen Dank für Ihre Geduld.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage