@Bind가 필요하신가요?
PHP 편집자 Baicao는 "@Bind가 필요합니까?"라는 일반적인 질문에 답하기 위해 왔습니다. 초보자를 위한 @Bind는 일부 프레임워크와 라이브러리에서 사용되는 일반적인 주석입니다. 그러나 PHP에서는 @Bind 주석을 사용할 필요가 없습니다. PHP는 동적 언어이므로 함수나 메서드 매개변수의 명시적인 바인딩이 필요하지 않습니다. 함수와 메소드의 매개변수는 호출 시 전달된 실제 매개변수에 따라 바인딩됩니다. 따라서 PHP에서는 매개변수 바인딩에 @Bind 주석을 사용할 필요가 없습니다. 도움이 되었으면 좋겠습니다!
질문 내용
스프링부트 프로젝트에서는 아래와 같이 쿼리에 매개변수를 바인딩할 필요가 없다는 사실을 우연히 발견했습니다.
으아악이것은 작동합니다:
으아악그러나 3.43.0을 사용하기 위해 다른 프로젝트(스프링 부트 프로젝트 아님)를 업그레이드할 때 바인딩을 제거할 수 없었습니다.
스프링 부트 프로젝트에서는 바인딩 없이 쿼리가 작동하지만 일반 Java 프로젝트에서는 작동하지 않는 이유를 잘 설명할 수 있는 사람이 있습니까? (명백한 설명 외에도 마술). 바인딩을 건너뛰는 데 사용할 수 있는 트릭이 있나요?
해결 방법
이 주석은 javac 플래그-parameters
를 사용하여 코드를 컴파일할 때만 생략할 수 있습니다. 첫 번째 프로젝트는 해당 플래그로 컴파일되고 다른 프로젝트는 그렇지 않을 수도 있습니다.
-parameters
标志。如果使用该标志,则方法的变量名称将在运行时可用于反射。当JDBI可以通过反射推断变量名为id
时,不需要@Bind
注解来明确它是针对查询参数id
플래그는 Java 8에서 도입되었습니다. 이 플래그를 사용하면 메서드의 변수 이름을 런타임 시 리플렉션에 사용할 수 있습니다. JDBI가 리플렉션을 통해 변수 이름 id
를 추론할 수 있는 경우 쿼리 매개변수 id@Bind
주석이 필요하지 않습니다. /코드>.
참조 문서의 해당 섹션도 확인하세요: https://www.php.cn/link/8012c0dd4aa84ef92dfa2de0c7163b5a
위 내용은 @Bind가 필요하신가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









