Вы можете реализовать их без фреймворка, если хотите, но вы отказываетесь от тех преимуществ, которые предлагает вам фреймворк.
Слой, который вы цитируете, верен и не зависит от какой-либо фреймворка;это просто программирование интерфейсов и разделение интересов.Вы можете делать это без Spring, если вы хотите свести к минимуму количество новых технологий, которые вы хотите изучить прямо сейчас.
Если вы не знаете, что такое постоянство, то вам не следует прыгать в Spring,Постоянство означает хранение данных в реляционных базах данных с использованием SQL для большинства людей.Если вы этого не знаете, я бы рекомендовал начать там.
Все книги по шаблонам в мире не помогут вам, если вы никогда не использовали базовые технологии.
Если вы никогда не делали ничего из этого, я бы рекомендовал придерживатьсяпрямые JDBC, сервлеты и JSP, использующие только JSTL (без скриплетов).Все, что находится за этим, будет просто сбивать с толку.
Если у вас есть объект модели Foo с уровнями постоянства, обслуживания и представления, интерфейсы могут выглядеть следующим образом:
package model;
/**
* A model object that's interesting from your problem's point of view
*/
public class Foo
{
}
package persistence;
/**
* CRUD operations for a Foo
*/
public interface FooDao
{
Foo find(Long id);
List<Foo> find();
void saveOrUpdate(Foo foo);
void delete(Foo foo);
}
package service;
/**
* Just a data service that wraps FooDao for now, but other use cases would
* mean other methods. The service would also own the data connection and manage
* transactions.
*/
public interface FooService
{
Foo find(Long id);
List<Foo> find();
void saveOrUpdate(Foo foo);
void delete(Foo foo);
}
package view;
/**
* A class that owns services, validates and binds input from UI, and handles routing
* to the next view once service is complete.
*/
public interface FooController
{
ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response);
}
Это простоинтерфейсы, конечно.Вам нужно будет предоставить реализации.