1. 주석 목록
@SpringBootApplication : @componentscan, @configuration 및 @enableautoconfiguration 주석을 포함합니다. 여기서 @componentscan은 스프링 부팅을 구성 클래스로 스캔하고 프로그램 컨텍스트에 추가합니다.
@Configuration은 Spring의 XML 구성 파일과 동일합니다. Java 코드는 유형 안전을 확인할 수 있습니다.
@EnableAutoConfiguration 자동 구성.
@componentscan componentscan 구성 요소 스캔하여 일부 콩을 자동으로 검색하고 조립합니다.
@Component는 CommandLinerUnner와 함께 사용하여 프로그램이 시작된 후 몇 가지 기본 작업을 실행할 수 있습니다.
@RestController 주석은 @Controller 및 @ResponseBody의 컬렉션으로 컨트롤러 Bean임을 나타내며 기능의 반환 값이 HTTP 응답 본문에 직접 채워집니다. REST 스타일 컨트롤러입니다.
@autowired 자동 가져 오기.
@PathVariable은 매개 변수를 가져옵니다.
@JsonBackReference는 중첩 된 외부 링크 문제를 해결합니다.
@RepositoryRestresourCepublic은 스프링 부트 스타터 데이터 레스트와 함께 사용됩니다.
2. 주석에 대한 자세한 설명
@SpringBootApplication : 스프링 부팅을 선언하여 필요한 구성으로 프로그램을 자동으로 구성하십시오. 이 구성은 @configuration, @enableautoconfiguration 및 @componentscan의 세 가지 구성과 같습니다.
패키지 com.example.myproject; org.springframework.boot.springApplication import; import org.springframework.boot.autoconfigure.springbootapplication; @springbootapplication // @configuration @enableautoconfiguration @componentscan public class 응용 프로그램 {public static void main (string [] args) {springApplication.run (application.run); }}@ResponseBody :이 방법의 반환 결과가 HTTP 응답 본문에 직접 기록됨을 의미합니다. 일반적으로 데이터가 비동기식으로 얻어지고 편안한 API를 구축하는 데 사용됩니다. @requestmapping을 사용한 후에는 반환 값이 일반적으로 점프 경로로 구문 분석됩니다. @ResponseBody를 추가 한 후 리턴 결과는 점프 경로로 구문 분석되지 않지만 HTTP 응답 본문에 직접 기록됩니다. 예를 들어, JSON 데이터를 비동기로 가져 와서 @ResponseBody를 추가하면 JSON 데이터가 직접 반환됩니다. 이 주석은 일반적으로 @requestmapping과 함께 사용됩니다. 샘플 코드 :
@RequestMapping ( "/test") @ResponseBody public String test () {return "ok"; }@Controller : 컨트롤러 클래스를 정의하는 데 사용됩니다. 스프링 프로젝트에서 컨트롤러는 사용자가 보낸 URL 요청을 해당 서비스 인터페이스 (서비스 계층)로 전달할 책임이 있습니다. 일반적 으로이 주석은 수업에 있습니다. 일반적으로 메소드는 주석 @requestmapping과 조정해야합니다. 샘플 코드 :
@controller @requestmapping ( "/demoinfo") publicclass democontroller {@autowired private demoinfoservice demoinfoservice; @requestmapping ( "/hello") public String hello (map <string, object> map) {system.out.println ( "DemoconTroller.hello ()"; map.put ( "hello", "templatecontroller.hellohtml에서"); // hello.html 또는 hello.ftl 템플릿은 렌더링 및 디스플레이에 사용됩니다. 반환 "/hello";}}@RestController : 컨트롤 레이어 구성 요소 모음 (예 : Struts의 동작), @ResponseBody 및 @Controller. 샘플 코드 :
package com.kfit.demo.web; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @RestController @RequestMapping ( "/demoinfo2") publicclass democontroller2 {@requestmapping ( "/test") public String test () {return "ok";}}@requestmapping : 라우팅 정보를 제공하고 컨트롤러의 특정 기능에 URL을 매핑 할 책임이 있습니다.
@EnableAutoConfiguration : Spring Boot 자동 구성 : 추가 한 JAR 종속성을 기반으로 스프링 응용 프로그램을 자동으로 구성하십시오. 예를 들어, HSQLDB가 ClassPath에 존재하고 데이터베이스 연결 Bean을 수동으로 구성하지 않은 경우 Memory In Memory 데이터베이스를 자동으로 구성합니다. @enableautoconfiguration 또는 @SpringBootApplication 주석을 @Configuration 클래스에 추가하여 자동 콘파 위치를 선택할 수 있습니다. 원하지 않는 특정 AutoConfiguration 클래스가 적용 된 경우 @enableautoconfiguration 주석의 제외 속성을 사용하여 비활성화 할 수 있습니다.
@componentscan : 클래스가 스캐닝 구성 요소를 자동으로 발견 할 것임을 의미합니다. 개인적 이해는 @Component, @Controller, @Service 등과 같은 주석으로 클래스를 스캔하고 Bean으로 등록하면 @Configuration 클래스를 포함하여 모든 스프링 구성 요소를 자동으로 수집 할 수 있습니다. 우리는 종종 @componentscan 주석을 사용하여 콩을 검색하고 @autowired 주석과 함께 가져옵니다. @Configuration 클래스를 포함하여 모든 스프링 구성 요소를 자동으로 수집 할 수 있습니다. 우리는 종종 @componentscan 주석을 사용하여 콩을 검색하고 @autowired 주석과 함께 가져옵니다. 구성이없는 경우 Spring Boot는 시작 클래스가있는 패키지 아래에 클래스를 스캔하고 @Service, @Repository 등의 주석을 사용하는 하위 포장.
@Configuration : 기존 XML 구성 파일에 해당합니다. 일부 타사 라이브러리에서 XML 파일을 사용해야하는 경우 @Configuration 클래스를 프로젝트의 기본 구성 클래스로 사용하는 것이 좋습니다. @Importresource 주석을 사용하여 XML 구성 파일을로드 할 수 있습니다.
@import : 다른 구성 클래스를 가져 오는 데 사용됩니다.
@importresource : XML 구성 파일을로드하는 데 사용됩니다.
@autowired : 자동으로 종속 콩을 가져옵니다
@Service : 서비스 계층을 수정하는 데 일반적으로 사용되는 구성 요소
@repository : @repository 주석을 사용하면 DAO 또는 리포지토리가 예외 변환을 제공 할 수 있습니다. 이 주석으로 수정 된 DAO 또는 리포지토리 클래스는 ComponetScan에서 발견 및 구성되며 XML 구성 항목을 제공 할 필요가 없습니다.
@Bean : @Bean 주석 메소드를 사용하여 XML로 구성된 Bean과 동일합니다.
@Value : Spring Boot Application.Properties로 구성된 속성 값을 주입하십시오. 샘플 코드 :
@Value (value = "#{message}") 개인 문자열 메시지;@inject : default @autowired와 동일하지만 필요한 속성이 없습니다.
@Component : 일반적으로 구성 요소를 나타냅니다. 구성 요소를 분류하기 쉽지 않은 경우이 주석을 사용하여 주석을 달 수 있습니다.
@Bean : 클래스가 아닌 메소드 위에 배치 된 XML과 동일합니다. 즉, 콩을 생성하여 스프링 관리에 넘겨주는 것을 의미합니다.
@autowired : 자동으로 종속 콩을 가져옵니다. 이형 방법. 구성된 Bean을 사용하여 속성 및 방법의 조립을 완료하십시오. 클래스 멤버 변수, 방법 및 생성자를 표시하여 자동 조립 작업을 완료 할 수 있습니다. (필수 = false)가 추가되면 콩을 찾을 수없는 경우에도 오류가보고되지 않습니다.
@Qualifier : 같은 유형의 콩이 여러 개있는 경우 @Qualifier ( "Name")를 사용하여 지정할 수 있습니다. @autowired와 함께 작동합니다. 이름에 따라 주입하는 것 외에도 @Qualifier Qualifier Descriptors를 사용하여 더 미세한 세분성 제어를 수행하는 방법을 수행 할 수 있습니다. 특정 사용 방법은 다음과 같습니다.
@autowired @qualifier (value = "demoinfoservice") private demoinfoservice demoinfoservice;
@Resource (name =”name”, type =”type”) : 브래킷에 내용이 없으면 기본값은 이름입니다. @autowired와 비슷한 일을하십시오.
3. JPA 노트
@Entity : @table (name =” ") : 이것이 엔티티 클래스임을 나타냅니다. 일반적으로 JPA의 두 가지 주석에 사용되지만 테이블 이름과 엔티티 클래스 이름이 동일하면 @table을 생략 할 수 있습니다.
@MappedSuperClass : 부모 클래스 인 엔티티를 결정하는 데 사용됩니다. 상위 클래스의 속성 서브 클래스를 상속받을 수 있습니다.
@NorepositoryBean : 일반적으로 부모 클래스의 저장소로 사용됩니다. 이 주석으로 스프링은 저장소를 인스턴스화하지 않습니다.
@Column : 필드 이름이 열 이름과 동일하면 생략 할 수 있습니다.
@id :이 속성이 기본 키임을 의미합니다.
@generatedValue (전략 = GenerationType.Sequence, Generator = "Repair_Seq") : 기본 키 생성 전략은 시퀀스 (자동, ID, 기본 등이 될 수 있음을 의미합니다. 자동은 여러 데이터베이스 사이를 전환 할 수 있음을 의미하며 지정된 시퀀스의 이름은 Repair_Seq입니다.
@SequenceGenerEtor (이름 = "Repair_Seq", SequenCename = "seq_repair", 할당 크기 = 1) : 이름은 시퀀스의 이름이므로 SequenceName은 데이터베이스의 시퀀스 이름이며 두 이름은 일치 할 수 있습니다.
@Transient :이 속성은 데이터베이스 테이블의 필드에 대한지도가 아니며 ORM 프레임 워크는이 속성을 무시합니다. 속성이 데이터베이스 테이블의 필드 맵이 아닌 경우 @transient로 표시해야합니다. 그렇지 않으면, ORM 프레임 워크는 @Basic과 같은 주석을 기본으로합니다. @basic (fetch = fetchtype.lazy) : 태그는 엔티티 속성이로드되는 방법을 지정할 수 있습니다.
@jsonignore : 기능은 JSON 직렬화 할 때 Java Bean의 일부 속성을 무시하는 것입니다. 직렬화 및 사제화 모두 영향을받습니다.
@joincolumn (name =”loginid”) : 일대일 :이 테이블의 외국 키가 다른 테이블을 가리키고 있습니다. 일대일 : 또 다른 테이블은이 테이블의 외국 키를 가리 킵니다.
@onetoone, @onetomany, @manytoone : 최대 절전 모드 구성 파일의 일대일, 일대일 및 다수에 해당합니다.
4. SpringMVC 관련 노트
@requestmapping : @requestmapping ( "/path")은 컨트롤러가 "/path"에 대한 모든 URL 요청을 처리 함을 의미합니다. RequestMapping은 요청 주소 매핑을 처리하는 데 사용되는 주석이며 클래스 또는 메소드에서 사용할 수 있습니다.
클래스에서 사용하기 위해 클래스에서 해당 응답 요청을 나타내는 모든 방법은이 주소를 상위 경로로 취합니다. 이 주석에는 6 가지 속성이 있습니다.
@requestparam : 메소드 매개 변수 앞에 사용됩니다.
@requestparam 문자열 a = request.getParameter ( "a"). @PathVariable : pathVariable. 예를 들어, requestMapping ( "user/get/mac/{macAddress}") public String getBymacAddress (@PathVariable String macAddress) {// 무언가; }매개 변수는 버팀대의 이름과 동일해야합니다.
5. 글로벌 예외 처리
@controlleradvice : @component를 포함합니다. 스캔 할 수 있습니다. 통합 예외 처리.
@ExceptionHandler (Exception.Class) :이 예외가 발생하면 다음 메소드가 실행되면 메소드에서 사용됩니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.