Appfuse (Spring3, Struts2) сервисы (не SOAP) scope для бина
От: BAKAB  
Дата: 13.11.07 11:07
Оценка:
Добрый день.

У меня есть веб приложение на основе Appfuse2.0 (Spring 2, Struts2, Hibernate)
Пытаюсь создать свою первую страницу. Она выводит все совершенные операции, можно задавать период дат.
Вот что у меня сейчас есть.

1. Сделал класс Operation, сделал его Persistents через Hibernate.
2. Сделал DAO интерфейс

public interface OperationDao {
     public List<Operation> loadBetween(Date dateFrom, Date dateTo, Integer page);
}


3. Реализовал OperationDao интерфейс в OperationDaoHibernate

4. Сделал интерфейс сервиса OperationManager
public interface OperationManager {
    public void setOperationDao(OperationDao OperationDao);
    public List<Operation> showBetweenDate(Date dateFrom, Date dateTo, Integer page);
}


5. Реализовал интерфейс OperationManager
public class OperationManagerImpl implements OperationManager {
    private OperationDao operationDao;

    public void setOperationDao(operationDao operationDao) {
        this.operationDao = operationDao;
    }

    public List<Operation> showBetweenDate(Date dateFrom, Date dateTo, Integer page) {
        if(null == dateTo) dateTo = new Date();
        if(null == dateFrom) dateFrom = DateUtils.addDays(dateTo, -30);
        if(null == page) page = 0;
        return operationDao.loadBetweenDate(dateFrom, dateTo, page);
    }
}


6. Собрал operationManager бин в xml файлах Spring2
    <bean id="operationDao" class="OperationDaoHibernate">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>
    <bean id="operationManager" class="OperationManagerImpl">
        <property name="operationDao" ref="operationDao"/>
    </bean>

7. Связал этот бин с action в struts2.
        <action name="viewoper" class="OperationAction">
            <result name="success">/WEB-INF/pages/viewoper.jsp</result>
        </action>

Мое непонимание вот в чем:
В Spring можно задавать scope для бина. Для двух бинов у меня стоит значение по-умолчанию (т.е. singleton). Правильно ли это значение в моем случае?
Или все таки мне надо scope задать значение "request"?
Объясните пожалуйста, какой scope лучше использовать в моей примере? (Возможно мешает мой предыдущий опыт работы с PHP.)
Ссылки тоже приветствуются
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.