powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Junit в Spring + Hibernate
13 сообщений из 13, страница 1 из 1
Проблема с Junit в Spring + Hibernate
    #37747630
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При тестировании контроллера, не работает @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
Проблема с Junit в Spring + Hibernate
    #37747665
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Ну ты как бы через спринг свой DivisionController создавал:)
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37747672
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно более развёрнуто? )
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37747712
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если развернуто, то когда юзаешь спринг - забудь про new в сервисах и контроллерах
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37747719
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем понимаю, @Autowired работает в сервисах...
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37747817
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513,

в тестах он тоже работает
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37747889
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Проблема с Junit в Spring + Hibernate
    #37748428
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, помогло. По поводу подключения контекста - как правильно это делается ? У меня сейчас подключено 2 - одиндля приложения, а другой для тестов. Их можно как то вовместить ?
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37748586
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexander00513Спасибо, помогло. По поводу подключения контекста - как правильно это делается ? У меня сейчас подключено 2 - одиндля приложения, а другой для тестов. Их можно как то вовместить ?
вынести общую часть в отдельный xml и подключать через include
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37748595
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpashaи подключать через include
упс. через import
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37749337
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите - как ? Импорт распространяется только на пакеты и классы..
...
Рейтинг: 0 / 0
Проблема с Junit в Spring + Hibernate
    #37749393
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Проблема с Junit в Spring + Hibernate
    #37749448
alexander00513
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с Junit в Spring + Hibernate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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