Scara의 Controller 클래스를 만나보십시오.

2720 단어 Scalatech
이번에는 Scara의 controller반을 접할 거예요.예를 들어 scala-play-seedsbt new면 Home Controller를 사용할 수 있다.계속해서 scala를 해독하다.

HomeController.scala


package controllers

import javax.inject._
import play.api._
import play.api.mvc._

/**
 * This controller creates an `Action` to handle HTTP requests to the
 * application's home page.
 */
@Singleton
class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController {

  /**
   * Create an Action to render an HTML page.
   *
   * The configuration in the `routes` file means that this method
   * will be called when the application receives a `GET` request with
   * a path of `/`.
   */
  def index() = Action { implicit request: Request[AnyContent] =>
    Ok(views.html.index())
  }
}

처음에 패키지랑 import이 많았어요.


package


글의 첫머리package ~에 대한 기술은 일반적으로 소프트웨어 패키지라고 하는데 저장된 폴더의 이름을 기술한다.
HomeController.scala의 파일에는 package cotrollers에 대한 설명이 있습니다.이렇게 하면 같은 계층의 구성원(클래스, TRAIT, 함수 등)을 방문할 수 있다.기타 소프트웨어 패키지 (프로그램 라이브러리나 다른 폴더, 매크로 패키지 구성원에 접근할 때 아래 import 사용)

import


패키지 아래 부분에서 설명한 import 문구는 다른 소프트웨어 패키지 (프로그램 라이브러리 또는 다른 폴더, 매크로 패키지의 구성원) 에 접근하는 데 사용됩니다.
포장 및 가져오기에 대한 공식 설명은 다음과 같습니다.
https://docs.scala-lang.org/ja/tour/packages-and-imports.html

javax.inject._


파일을 가져올 때 첨부 파일@~을 사용합니다._ 다음과 같이 모두 가져오라는 뜻이 있습니다.자바의 가상화를 처음 사용한 것은 교차 모방@Override: 계승 클래스의 방법을 다시 정의할 때 함수 앞에서 설명한다.
이 파일의 배열 작용은 다음과 같다.
초대하다
과업
@Singleton
DI(Dependency Injection) 등록 ※ 1의 모조.단식 ※ 2 생성
@Inject
DI가 등록한 클래스 실례는 '주입' 요청에 사용됩니다.
※ 1 의존성 주입.프로그램 소스 코드에서 구성 요소 간의 의존 관계를 배제하기 위해 외부 프로필 등을 통해 대상의 소프트웨어 모드를 주입할 수 있다.디라고 많이 불리는데요.
※ 2개는 하나의 클래스 인스턴스의 디자인 모델만 만듭니다.실례를 호출하는 방법을 다시 실행하면, 최초로 만든 실례를 되돌려줍니다.제작할 때, 구조기의 접근 수식자를 privete로 만들어서 외부에서 new로 만들 수 없습니다.

@Inject()(val controllerComponents: ControllerComponents)


Playframe work에 기본 DI 등록 Controller Components를 주입했습니다.

def index() = Action {}


Action은 play.api.mvc에 있습니다.Play frame work의 기본 요청은 이 동작으로 처리합니다

Ok(views.html.index())


Conteype text/plain을 포함하는 응답 바디의 상태 200OK 응답을 생성합니다.
이 응답체는views 포장에 있는 index의 ")"입니다
자세한 내용은 아래 공식을 참고하시오
https://www.playframework.com/documentation/ja/2.3.x/ScalaActions

좋은 웹페이지 즐겨찾기