Я работаю над приложением, которое использует java 8 + Spring 4. Теперь я удаляю требование Spring DI, чтобы приложение могло работать без Spring DI.Как инициировать NamedParameterJdbcTemplate для H2 Query?
Я буду использовать Springs JdbcTemplate и NamedParameterJdbcTemplate для операций с базой данных. Я использую эти шаблоны, поскольку мы будем использовать любую другую функцию/.jar в java-приложении.
В то время как я удаление всех @Autowired и других аннотаций, связанных с пружинным (и делает их через конструктор сейчас)
Spring версии этот путь:
public class H2Dao {
private NamedParameterJdbcTemplate t;
@Autowired
public H2Dao(@Qualifier("H2JdbcTemplate") NamedParameterJdbcTemplate t) {
this.t=t;
}
}
приложений context.xml имеет под код для этого:
<jdbc:embedded-database id="h2DataSource" type="H2">
<jdbc:script location="classpath:db/sql/h2.init.sql" />
</jdbc:embedded-database>
<bean id="H2JdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="h2DataSource" name="dataSource" />
</bean>
h2.init.sql файл имеет следующий код:
CREATE ALIAS ROWNUM_OVER FOR "com.xx.xxxx.h2.H2Function.rowNumOver";
CREATE ALIAS DBO_UFUN_ADDDATETIME FOR "com.xx.xxxx.h2.H2Function.addDateTime";
Мой вопрос: как я могу написать тот же код в версии без пружины, которая не использует application-context.xml для DI. Я хочу использовать конструктор H2Dao с параметром NamedParameterJdbcTemplate. как создать экземпляр NamedParameterJdbcTemplate для передачи конструктора H2Dao?
да, просто попробовал это. похоже, работает. Я обновлю, как только проверю его. – Ajeetkumar
Спасибо Денис Якибчук, это именно то, что искали! – Ajeetkumar