Zacząłem robić aplikację w Spring Boot i napotkałem na problem. Otóż jak tutaj zrobić @Autowired do serwisu i jak wykonać zapytanie. Poprzednio bez Spring Boot'a wyglądało to tak:
- w web.xml miałem
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/webcontext/DispatcherServlet-context.xml</param-value>
</init-param>
</servlet>
- DispatcherServlet-context.xml miał beana do wstrzykiwania articleDao z SessionFactory w konstruktorze oraz parametry dostępu do bazy:
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/spring_blog"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:hibernate.cfg.xml"/>
</bean>
<tx:annotation-driven/>
<bean id="transactionManager"
class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="articleDao" class="a.b.c.dao.impl.ArticleDaoImpl">
<constructor-arg>
<ref bean="sessionFactory"/>
</constructor-arg>
</bean>
- ArticleDaoImpl miało wstrzyknięte SessionFactory i już mogłem wykonywać zapytania do bazy.
Tutaj w Spring Boot nie wiem jak to zrobić. Mam src/main/resources/application.properties z spring.datasource.* i spring.jpa.* czyli tutaj zamiast tego xmla jak wcześniej.
Gdzie zrobić beana articleDao i jak wstrzyknąć SessionFactory?