powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring передача sessionFactory контроллеру.
9 сообщений из 9, страница 1 из 1
Spring передача sessionFactory контроллеру.
    #39048016
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, такая задача: хочу по адресу .../config сделать начальную инициализацию(создание) таблиц и данных в таблицах.

Есть контроллер:
Код: 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.
@Controller
public class ConfigController {
	
	@Autowired
	private SessionFactory sessionFactory;
		
	public ConfigController() {
	}
	
	public ConfigController(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory; //так не работает
	}

	@RequestMapping("/config")
	public ModelAndView handleRequest() throws Exception {

		...
	
		sessionFactory.getCurrentSession().saveOrUpdate(user);		
		
		return new ModelAndView("redirect:/");
	}

}

Проблема в том, что sessionFactory не инициализирован.
Где и как sessionFactory нужно инициализировать? Похоже, в конструкторе нельзя - он не вызывается.
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39048029
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... или может сделать что-то типа configDao?
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39048063
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal... или может сделать что-то типа configDao?

Э-э-э....

@PostConstruct

Не?!
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39048133
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Снимаю вопрос. Обошелся без sessionFactory в контроллере.
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39049727
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal,

И как?


По теме чтобы сработало как в примере нужно аннотацию передвинуть на конструктор . или убрать этот конструктор спринг сам все куда надо заинжектит... Главное в конфиге все правильно приписать и не забыть... Вроде так.
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39050833
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Atum1wvetal,
И как?
Как реализовал? - через userDao.
Код: java
1.
userDao.saveOrUpdate(user);

вместо
Код: java
1.
sessionFactory.getCurrentSession().saveOrUpdate(user);	


Atum1wvetal,
По теме чтобы сработало как в примере нужно аннотацию передвинуть на конструктор .Eclipse пишет, что нельзя ставить на конструктор аннотацию @RequestMapping("/config").

Atum1wvetal,
или убрать этот конструктор спринг сам все куда надо заинжектит... Главное в конфиге все правильно приписать и не забыть... Вроде так.Да, действительно, убрал конструкторы, все заинжектилось, сработало:
Код: java
1.
sessionFactory.getCurrentSession().saveOrUpdate(user);

просто нужно было добавить аннотацию @Transactional, а то без нее вываливался Exception.
Код: java
1.
2.
3.
4.
@Transactional
@RequestMapping("/config")
public ModelAndView handleRequest() throws Exception {
...
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39052408
Guzya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А разве не так должно быть?
Код: java
1.
2.
3.
4.
@Autowired
public ConfigController(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39052510
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Atum1
wvetal,
По теме чтобы сработало как в примере нужно аннотацию передвинуть на конструктор .

Eclipse пишет, что нельзя ставить на конструктор аннотацию @RequestMapping("/config").



GuzyaА разве не так должно быть?
Код: java
1.
2.
3.
4.
@Autowired
public ConfigController(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}



+1

я про это и говорил :)


для более глубокого понимаю я бы посоветовал видео о том как устроен спринг:)

YouTube Video
...
Рейтинг: 0 / 0
Spring передача sessionFactory контроллеру.
    #39052517
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetal
sessionFactory.getCurrentSession().saveOrUpdate(user);

[/src] просто нужно было добавить аннотацию @Transactional, а то без нее вываливался Exception.
Код: java
1.
2.
3.
4.
@Transactional
@RequestMapping("/config")
public ModelAndView handleRequest() throws Exception {
...



вот когда и Transactional и sessionFactory.getCurrentSession() - мне уже кажется либо не понимание полное либо масло масленное ...

как мне кажется

либо : @Transactional либо sessionFactory.getCurrentSession() со свякими явными указаниями старт транзактиро и стоп ...итд ...

а когда и то и то ... какие-то скрытые грабли как мне кажется ... может кто-то меня поправит .
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring передача sessionFactory контроллеру.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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