Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/34: Рейтинг темы: голосов - 34, средняя оценка - 4.53
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342

Spring Hibernate ошибка при создании SessionFactory

12.07.2018, 14:36. Показов 7251. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

Пытаюсь получить UserService из главного контекста. Выскакивает ошибка

Exception in thread "main" org.springframework.beans.factory.Unsati sfiedDependencyException: Error creating bean with name 'userDAOImpl': Unsatisfied dependency expressed through field 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCr eationException: Error creating bean with name 'getSessionFactory' defined in server.config.HibernateConfig: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException


Не могу понять, что не так.

Java
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
@ComponentScan
public class EmbeddedJetty {
    public static void main(String[] args) throws Exception {
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        context.setConfigLocation("server.config");
        context.refresh();
        UserService userService = context.getBean(UserService.class);
    }
}
 
public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
 
    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { };
    }
 
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class[] { WebConfig.class };
    }
 
    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }
}
 
@Configuration
@EnableTransactionManagement
@PropertySource("classpath:database.properties")
@ComponentScans(value = { @ComponentScan("server.database.dao"),
                          @ComponentScan("server.database.service") })
public class HibernateConfig {
 
    @Autowired
    private Environment env;
 
    @Bean
    public LocalSessionFactoryBean getSessionFactory() {
        LocalSessionFactoryBean factoryBean = new LocalSessionFactoryBean();
        factoryBean.setDataSource(getDataSource());
 
        Properties props=new Properties();
        props.put("hibernate.show_sql", env.getProperty("hibernate.show_sql"));
        props.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));
 
        factoryBean.setHibernateProperties(props);
        factoryBean.setAnnotatedClasses(User.class);
        return factoryBean;
    }
 
    @Bean
    public DataSource getDataSource() {
        BasicDataSource dataSource = new BasicDataSource();
        dataSource.setDriverClassName(env.getProperty("db.driver"));
        dataSource.setUrl(env.getProperty("db.url"));
        dataSource.setUsername(env.getProperty("db.username"));
        dataSource.setPassword(env.getProperty("db.password"));
        return dataSource;
    }
 
    @Bean
    public HibernateTransactionManager getTransactionManager() {
        HibernateTransactionManager transactionManager = new HibernateTransactionManager();
        transactionManager.setSessionFactory(getSessionFactory().getObject());
        return transactionManager;
    }
}
 
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = { "server.controller"})
public class WebConfig implements WebMvcConfigurer {
}
 
}

Вот сам DAO класс:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Repository
public class UserDAOImpl implements UserDAO {
 
    @Autowired
    private SessionFactory sessionFactory;
 
    @Override
    public List<User> list() {
        try {
            return sessionFactory.getCurrentSession().createSQLQuery("SELECT * FROM user").addEntity(User.class).list();
        }
        catch (Exception e) {
            return null;
        }
    }
}
Файл сборки Gradle:
Java
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
apply plugin: 'java'
apply plugin: 'idea'
apply plugin: 'application'
 
//JDK10
sourceCompatibility = 10
targetCompatibility = 10
 
mainClassName = "EmbeddedJetty"
 
sourceSets {
    main.java.srcDir "src/main/java"
}
 
repositories {
    mavenLocal()
    mavenCentral()
}
 
dependencies {
    //SPRING
    compile group: 'org.springframework', name: 'spring-core', version: '5.0.4.RELEASE'
    compile group: 'org.springframework', name: 'spring-web', version: '5.0.4.RELEASE'
    compile group: 'org.springframework', name: 'spring-webmvc', version: '5.0.4.RELEASE'
    compile group: 'org.springframework', name: 'spring-orm', version: '5.0.4.RELEASE'
    //HIBERNATE
    compile group: 'org.hibernate', name: 'hibernate-core', version: '5.2.16.Final'
    compile group: 'postgresql', name: 'postgresql', version: '9.1-901-1.jdbc4'
    compile group: 'org.hibernate', name: 'hibernate-validator', version: '6.0.9.Final'
    compile group: 'org.hibernate', name: 'hibernate-entitymanager', version: '5.2.16.Final'
    compile group: 'org.apache.commons', name: 'commons-dbcp2', version: '2.4.0'
    //JETTY
    compile group: 'org.eclipse.jetty', name: 'jetty-server', version: '9.4.11.v20180605'
    compile group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.11.v20180605'
    compile group: 'org.eclipse.jetty', name: 'jetty-annotations', version: '9.4.11.v20180605'
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2018, 14:36
Ответы с готовыми решениями:

Spring + Hibernate | Error creating bean with name 'sessionFactory'
Относительно недавно начал изучение Java. При создании веб-приложения при помощи Sprng'а и Hibirnate выскакивает ошибка, хотя делал по...

Spring mvc, hibernate, mysql: sessionFactory забивает базу подключениями
При вызове метода из SupplierDAOImpl в базу добавляются 10 подключений сразу(вместо одного), и не убираются. После 13 попыток подключений к...

Spring MVC ошибка при инициализации бина sessionFactory
ошибка: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path...

10
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
12.07.2018, 15:04
Лучший ответ Сообщение было отмечено Kertis138 как решение

Решение

Kertis138,
я со спрингом не знаком совсем никак, поэтому старшие товарищи могут меня одернуть, но я бы добавил грейдловский аналог для мавеновской депенденси
Java
1
2
3
4
5
         <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.0</version>
        </dependency>
а если после этого ошибка изменится на упоминание javax.activation и/или com.sun.xml.bind то добавил и их депенденси
1
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
12.07.2018, 15:13  [ТС]
Welemir1,
Ошибка исчезла, но появилась новая:
Exception in thread "main" org.springframework.beans.factory.Unsati sfiedDependencyException: Error creating bean with name 'userDAOImpl': Unsatisfied dependency expressed through field 'sessionFactory'; nested exception is org.springframework.beans.factory.BeanCr eationException: Error creating bean with name 'getSessionFactory' defined in server.config.HibernateConfig: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceExcepti on: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEn vironment]
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
12.07.2018, 15:26
Kertis138, а вот это уже к старшим товарищам, я с гибернейтами не связывался)
1
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
13.07.2018, 16:30  [ТС]
Вся проблема в том, что ни один из примеров не работает. Да и я не смог найти примера на: java + gradle + spring5 + hibernate5 + jetty + postgress. А примеры, где используются отдельные из перечисленных технологий выбрасывают ошибку
0
13.07.2018, 18:52

Не по теме:

Kertis138, я по секрету тебе скажу, не как повод к действию, а просто наблюдение - установил на одну из наших виртуальных машин джаву 10, и там столько всего стало сыпаться при сборке (отсюда и мой совет выше). Снес, поставил 8, все норм )

0
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
13.07.2018, 18:58  [ТС]
Welemir1, Раньше у меня работало на java10 + hibernate xml config + maven и все работало нормально. По сути сменил maven на gradle и убрал xml. Не могу понять, что не так. Контроллеры работают без проблем. А вот с Hibernate проблемы.. Уже 3ий день бьюсь...
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
13.07.2018, 19:01
Цитата Сообщение от Kertis138 Посмотреть сообщение
сменил maven на gradle
вот он корень проблемы то
1
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
14.07.2018, 01:24  [ТС]
Много нервов потрачено, но потрачено не зря
Сделал сборку для Java8 и для Java10. Может кому пригодится.

JETTY
SPRING5
HIBERNATE5
GRADLE
POSTGRESQL

https://gitlab.com/egorkozelsk... XAMPLE.git
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
14.07.2018, 10:07
Цитата Сообщение от Kertis138 Посмотреть сообщение
Может кому пригодится.
Конечно пригодится....в 2018 все только и делают что сами настраивают хибернейт с использованием XML конфигов
1
6 / 6 / 1
Регистрация: 25.02.2016
Сообщений: 342
16.07.2018, 18:47  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
с использованием XML конфигов
Я постараюсь допилить все под аннотации и если получится кину результат
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.07.2018, 18:47
Помогаю со студенческими работами здесь

Servlet Hibernate (SessionFactory) ошибка
Есть файл HibernateUtils package DB.utils; import org.hibernate.Session; import org.hibernate.SessionFactory; import...

Ошибка при настройке Spring и Hibernate
Exception in thread &quot;main&quot; org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined...

Spring Boot и чайник. Ошибка зависимости при создании бина
Приветствую, уважаемые форумчане. Начала осваивать яву буквально пару недель назад, поэтому, прошу понять, простить и помочь)) Пишу в...

Создать SessionFactory (Hibernate HelloWorld)
Мне вообще кажется, что я что-то не так подключил. Идея видит БД, даже список баз, а дальше вот это вот. Зависимости: ...

Hibernate. Не могу создать обьект SessionFactory
Здравствуйте. подскажите почему не могу создать объект SessionFactory. Не знаю в чем дело, вечером все работало, утром сел за работу -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru