Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Junit в Spring + Hibernate / 13 сообщений из 13, страница 1 из 1
10.04.2012, 21:55:27
    #37747630
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
При тестировании контроллера, не работает @Autowired в контроллере.

Подключаю в класс с тестами такой контекст:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:context="http://www.springframework.org/schema/context"
   xmlns:tx="http://www.springframework.org/schema/tx"
   xsi:schemaLocation="http://www.springframework.org/schema/beans 
   http://www.springframework.org/schema/beans/spring-beans.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context.xsd
   http://www.springframework.org/schema/tx 
   http://www.springframework.org/schema/tx/spring-tx.xsd
   http://www.springframework.org/schema/util 
   http://www.springframework.org/schema/util/spring-util.xsd">
    
    <!-- Определяем папки, в которых будем автоматически искать бины-компоненты (@Component, @Service) -->
    <context:component-scan base-package="com.hornsandhooves.db" />
    
    <!-- Настраивает управление транзакциями с помощью аннотации @Transactional -->
    <tx:annotation-driven transaction-manager="transactionManager" />
    
    <!-- Менеджер транзакций -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
    
    <!-- Файл с настройками подключения к базе данных -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="/jdbc.properties" />
    </bean>
    
    <!-- Бин dataSource -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
    
    <!-- Настройки фабрики сессий Хибернейта -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
        <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            </props>
        </property>
    </bean>
    
</beans>



Класс с тестами:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:data.xml"})
public class DivisionControllerTest {
    
    private DivisionController divisionController;
    
    
    @Before
    public void setUp() {
        divisionController = new DivisionController();
    }

    /**
     * Test of findAll method, of class DivisionController.
     */
    @Test
    public void testFindAll() {
        System.out.println("findAll");
        ModelAndView result = divisionController.findAll();
        assertEquals(DIVISION_LIST_VIEW, result.getViewName());
        System.out.println("findAll - OK");
    }
}
...
Рейтинг: 0 / 0
10.04.2012, 22:32:08
    #37747665
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
:)
Ну ты как бы через спринг свой DivisionController создавал:)
...
Рейтинг: 0 / 0
10.04.2012, 22:38:04
    #37747672
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
А можно более развёрнуто? )
...
Рейтинг: 0 / 0
10.04.2012, 23:12:30
    #37747712
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
Если развернуто, то когда юзаешь спринг - забудь про new в сервисах и контроллерах
...
Рейтинг: 0 / 0
10.04.2012, 23:18:17
    #37747719
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
Не совсем понимаю, @Autowired работает в сервисах...
...
Рейтинг: 0 / 0
11.04.2012, 05:45:29
    #37747817
GregTk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
alexander00513,

в тестах он тоже работает
...
Рейтинг: 0 / 0
11.04.2012, 08:55:38
    #37747889
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
alexander00513При тестировании контроллера, не работает @Autowired в контроллере.

Он у вас не указан.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:data.xml"})
@Transactional // Если работаете с БД, не сохраняем изменения
public class DivisionControllerTest {
    
   @Autowired // инжектим бин из контекста
    private DivisionController divisionController;
    
    
    /**
     * Test of findAll method, of class DivisionController.
     */
    @Test
    public void testFindAll() {
        System.out.println("findAll");
        ModelAndView result = divisionController.findAll();
        assertEquals(DIVISION_LIST_VIEW, result.getViewName());
        System.out.println("findAll - OK");
    }
}
...
Рейтинг: 0 / 0
11.04.2012, 13:02:47
    #37748428
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
Спасибо, помогло. По поводу подключения контекста - как правильно это делается ? У меня сейчас подключено 2 - одиндля приложения, а другой для тестов. Их можно как то вовместить ?
...
Рейтинг: 0 / 0
11.04.2012, 14:06:31
    #37748586
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
alexander00513Спасибо, помогло. По поводу подключения контекста - как правильно это делается ? У меня сейчас подключено 2 - одиндля приложения, а другой для тестов. Их можно как то вовместить ?
вынести общую часть в отдельный xml и подключать через include
...
Рейтинг: 0 / 0
11.04.2012, 14:09:24
    #37748595
chpasha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
chpashaи подключать через include
упс. через import
...
Рейтинг: 0 / 0
11.04.2012, 21:15:11
    #37749337
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
Подскажите - как ? Импорт распространяется только на пакеты и классы..
...
Рейтинг: 0 / 0
11.04.2012, 22:00:16
    #37749393
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
alexander00513Подскажите - как ? Импорт распространяется только на пакеты и классы..
У spring'а отличная документация. Прочитайте
http://static.springsource.org/spring/docs/3.1.0.RELEASE/reference/html/beans.html
http://static.springsource.org/spring/docs/3.1.0.RELEASE/reference/html/beans.html#beans-factory-xml-import

Но возможно вам хватит профилей (если Spring 3.1.0)
http://hillert.blogspot.com/2011/04/spring-31-bean-definition-profiles-for.html

И обращайте внимание на версию!
...
Рейтинг: 0 / 0
11.04.2012, 22:55:26
    #37749448
alexander00513
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с Junit в Spring + Hibernate
спасибо)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Junit в Spring + Hibernate / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]