1

SpringおよびHibernateフレームワークを使用して作成されたアプリケーションがあります。すべてが正しく機能しますが、質問が1つあります。コントローラーがサービスレイヤーメソッドを呼び出してビジネスロジックを呼び出す場合、特定のコードをどこに配置するか、たとえば次のコードで、新しい個人の役割とパスワードを設定するためのコードをコントローラーメソッドに含める必要があります。 AddPersonページのPOSTリクエストを処理しますか、それともサービスレイヤーメソッドで処理しますか?

// Saves addPerson.jsp.
 @RequestMapping(value = "/add", method = RequestMethod.POST)
 public String postAdd(@ModelAttribute("person") Person person) {  
      logger.debug("PersonController.postAdd called");

      // Create random number for new Person's password.
      person.setPassword(String.valueOf(Java_Utils.getRandomNumber()));

      // Create role for new Person.
      person.setRole("PERSON");

      // Add Person.
      personService.add(person);

      // Set records.jsp
      return "redirect:/demo/main/record/list";
 }

もちろんこれは簡単な例ですが、興味があります。PERSONの役割は、Tomcatを使用して制約を満たし、ユーザーが認証されたページに到達するのを防ぐことです。

4

1 に答える 1

0

サービス層にある必要があります。Controllerレイヤーは、GUI関連のものを処理および変換するためのものです。ただし、ユーザーを作成して正しく構成することはGUIのものではなく、ビジネス(または技術)のユースケースであるため、サービスに配置する必要があります。

`personService.createPersonWithRandomPassword();`
于 2013-03-25T10:23:57.290 に答える