Изучаю Spring, и сейчас я на этапе транзакций. Стали интересны именно транзакции Hibernate. Но при запуске программы возникает исключение:
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.vladhuk.examples.HibernateSpitterDao' available
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:343)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:335)
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1101)
at com.vladhuk.examples.Main.main(Main.java:12)
Конфигурация:
@Configuration
@ComponentScan
@EnableTransactionManagement
public class Config {
@Bean
public BasicDataSource dataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/java_test?useSSL=false & serverTimezone=Europe/Kiev");
dataSource.setUsername("vladhuk");
dataSource.setPassword("1");
return dataSource;
}
@Bean
public LocalSessionFactoryBean sessionFactory() {
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(dataSource());
sessionFactory.setHibernateProperties(hibernateProperties());
sessionFactory.setPackagesToScan("com.vladhuk.examples");
return sessionFactory;
}
private Properties hibernateProperties() {
Properties hibernateProperties = new Properties();
hibernateProperties.setProperty("hibernate.hbm2ddl.auto", "create");
hibernateProperties.setProperty("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect");
return hibernateProperties;
}
@Bean
public HibernateTransactionManager transactionManager() {
HibernateTransactionManager tm = new HibernateTransactionManager();
tm.setSessionFactory(sessionFactory().getObject());
return tm;
}
}
Класс DAO, вызывающий исключение:
@Component
@Transactional
public class HibernateSpitterDao implements SpitterDao {
private SessionFactory sessionFactory;
@Autowired
public HibernateSpitterDao(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public void addSpitter(Spitter spitter) {
Session session = sessionFactory.openSession();
session.save(spitter);
session.close();
}
public Spitter getSpitterById(long id) {
return sessionFactory.getCurrentSession().get(Spitter.class, id);
}
public void saveSpitter(Spitter spitter) {
Session session = sessionFactory.openSession();
session.update(spitter);
session.close();
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь немного упростить себе жизнь и решил написать javascript-код, который при загрузке страницы автоматически заполняет необходимы поля...
Задача такая - сделать динамически изменяющий цвет навбар, взависимости от высоты он должен плавно менять цвет