Im обучения Spring (2 и 3), и я получил этот метод в ClientDaoSpring JDBC DAO
public Client getClient(int id) {
List<Client> clients= getSimpleJdbcTemplate().query(
CLIENT_GET,
new RowMapper<Client>() {
public Client mapRow(ResultSet rs, int rowNum) throws SQLException {
Client client = new ClientImpl(); // !! this (1)
client.setAccounts(new HashSet<Account>()); // !! this (2)
client.setId(rs.getInt(1));
client.setName(rs.getString(2));
return client;
}
},id
);
return clients.get(0);
}
и следующей весной проводка:
<bean id="account" class="client.AccountRON" scope="prototype">
<property name="currency" value = "RON" />
<property name="ammount" value="0" />
</bean>
<bean id="client" class="client.ClientImpl" scope="prototype">
<property name="name" value="--client--" />
<property name="accounts">
<set>
</set>
</property>
</bean>
То, что я не люблю прокомментировали строки java-кода (1) и (2). Я собираюсь начать с (2), который, по моему мнению, является простым: есть ли способ, с помощью которого я могу подключить bean-компонент в файле .xml, чтобы сообщить Spring, чтобы создать реалистичную реализацию для «учетных записей» в ClientImpl? поэтому я могу избавиться от (2)
Теперь перейдем к (1): что произойдет, если реализация изменится? действительно ли мне нужно написать еще один DAO для другой реализации? или мне нужно построить BeanFactory? или есть еще одно прекрасное решение?
Спасибо!
Спасибо. Я не знаю, почему я, хотя, что фабрика в DAO была плохой. Теперь все нормально. Я, должно быть, устал. – Blitzkr1eg