Como implementar eficientemente um padrão de estratégia com a primavera?

Eu tenho uma aplicação web desenvolvida em Java 1.5 com framework Spring. O aplicativo contém "painéis", que são páginas simples, onde um monte de informações são reagrupadas e o usuário pode modificar algum status. Os gerentes querem que eu adicione um sistema de registro no banco de dados para três desses painéis. Cada painel possui informações diferentes, mas o log deve ser rastreado por data e logon do usuário.

O que eu gostaria de fazer é implementar o padrão de estratégia como este:

interface DashboardLog {
   void createLog(String login, Date now);
}

// Implementation for one dashboard
class PrintDashboardLog implements DashboardLog {
  Integer docId;
  String status;

  void createLog(String login, Date now){
    // Some code
  }
}

class DashboardsManager {
  DashboardLog logger;
  String login;
  Date now;

  void createLog(){
     logger.log(login,now);
  }
}

class UpdateDocAction{
   DashboardsManager dbManager;

   void updateSomeField(){
      // Some action
      // Now it's time to log
      dbManagers.setLogger = new PrintDashboardLog(docId, status);
      dbManagers.createLog();
   } 
}

Appcontext.xml:

<bean id="dashboardManagers" class="...DashboardManagers" />

Nesta solução, portanto, não estou usando injeção de dependência. É "correto" (boas práticas, desempenho, ...) fazê-lo desta maneira? Existe uma maneira melhor de usar o DI?

Nota: Eu não escrevi coisas básicas como construtores e getter / setter.

questionAnswers(3)

yourAnswerToTheQuestion