Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Инжектить коннект к базе в контроллер Spring / 8 сообщений из 8, страница 1 из 1
09.02.2014, 04:16
    #38554809
многоразовый клон 26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
Друзья, использую Active JDBC. Кто знает, подскажите, как можно в контроллер Спринга инжектить соединение, созданное в отдельном классе?

То есть я хочу получить внутри метода контроллера уже приготовленный для использования объект. Возможно ли это ?
...
Рейтинг: 0 / 0
09.02.2014, 09:53
    #38554835
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
многоразовый клон 26,
Покажи как создал
...
Рейтинг: 0 / 0
09.02.2014, 10:56
    #38554850
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
Вероятно bean scope protototype надо использовать. А какие сложности возникли?
...
Рейтинг: 0 / 0
09.02.2014, 19:22
    #38555059
многоразовый клон 26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
BlazkowiczВероятно bean scope protototype надо использовать. А какие сложности возникли?

спасибо ответившим, я просто не знаю, где найти пример
...
Рейтинг: 0 / 0
09.02.2014, 22:08
    #38555115
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
многоразовый клон 26,
15541865
...
Рейтинг: 0 / 0
19.02.2014, 09:13
    #38565473
многоразовый клон 26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
Возникла проблема с инжектом, заключающаяся в том, что в член класса спрингового контроллера инжектился объект activejdbc. Затем в @PostConstruct открывался коннект к базе.

Так вот, при вызове метода контроллера по запросу браузера, коннект, почему-то, оказывался пустой, хотя в методе с @PostConstruct он открыт - я проверил, выполнив запрос к БД.

Мучился-мучился, так и не нашел решение, конверчу проект для работы с хибернейтом.
...
Рейтинг: 0 / 0
19.02.2014, 09:19
    #38565479
многоразовый клон 26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
инжектил таким образом:


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
package com.shogol.core.db;

import org.javalite.activejdbc.Base;
import org.springframework.stereotype.Repository;

@Repository
public class Connection implements IConnection {

    @Override
    public void open()
    {
        Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/shogol_angular", "root", "");
    }

    @Override
    public void close()
    {
        Base.close();
    }

}




Код: 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.
package com.shogol.web.backend.controller;

import com.shogol.core.db.Connection;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import org.javalite.activejdbc.LazyList;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@Controller("User")
public class User {
    
    @Autowired
    protected Connection dbConnection;

    protected int perPage = 30;

    @RequestMapping("/backend/com.shogol.web.backend.controller.User/list/page/{page}")
    @ResponseBody
    public String list(@PathVariable("page") long page)
    {

        // вот здесь возникала ошибка, что коннекта нет //////////////////////////////////////
        LazyList<com.shogol.core.model.User> users = com.shogol.core.model.User.findAll().limit(perPage).offset(perPage * page);
    
        String json = users.toJson(true);

        return json;
    }

    @PostConstruct
    public void openConnection()
    {
        dbConnection.open();
    }

    @PreDestroy
    public void closeConnection()
    {
        dbConnection.close();
    }

}
...
Рейтинг: 0 / 0
19.02.2014, 09:20
    #38565482
многоразовый клон 26
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Инжектить коннект к базе в контроллер Spring
да, если вот так написать, то все работает

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
        
    @PostConstruct
    public void openConnection()
    {
        dbConnection.open();
        
        LazyList<com.shogol.core.model.User> users = com.shogol.core.model.User.findAll().limit(perPage).offset(perPage * page);
    }
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Инжектить коннект к базе в контроллер Spring / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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