>일반적인 문제 >springboot의 일반적인 주석은 무엇입니까?

springboot의 일반적인 주석은 무엇입니까?

青灯夜游
青灯夜游원래의
2019-04-10 13:10:5192872검색

springboot에서 일반적으로 사용되는 주석은 다음과 같습니다. 1. SpringBootApplication; 3. 서비스 4. RestController 6. 구성요소 등

springboot의 일반적인 주석은 무엇입니까?

springboot에서 일반적으로 사용되는 주석은 다음과 같습니다.

1, @SpringBootApplication

이 주석은 Spring Boot의 기본 클래스에서 이를 식별하는 데 사용됩니다. Spring Boot의 다양한 기능을 활성화하는 데 사용되는 Spring Boot 애플리케이션입니다. 실제로 이 주석은 @Configuration, @EnableAutoConfiguration 및 @ComponentScan이라는 세 가지 주석의 조합입니다. 이러한 주석은 일반적으로 함께 사용되므로 Spring Boot에서는 @SpringBootApplication이라는 통합 주석을 제공합니다.

2. @EnableAutoConfiguration

을 사용하면 Spring Boot가 이 주석을 활성화한 후 현재 클래스 경로의 패키지 또는 클래스를 기반으로 Spring Bean을 구성할 수 있습니다.

예: 현재 클래스 경로 아래에 Mybatis JAR 패키지가 있고 MybatisAutoConfiguration 주석은 관련 매개변수에 따라 Mybatis의 각 Spring Bean을 구성할 수 있습니다.

@EnableAutoConfiguration 구현의 핵심은 AutoConfigurationImportSelector의 도입입니다. 핵심 논리는 selectImports 메서드입니다. 논리는 대략 다음과 같습니다.

 ● 구성 파일 META-INF/spring에서 가능한 모든 자동 구성 클래스를 로드합니다.

 ● Heavy로 이동하여 제외 및 제외 이름 속성이 포함된 클래스를 제외합니다.

● 필터, 조건을 충족하는 자동 구성 클래스 반환(@Conditional), @Configuration

구성 클래스를 정의하고 클래스를 지정하는 데 사용됩니다. Bean 구성을 위한 정보 소스로 기존 xml 구성 파일과 동일하며 일반적으로 기본 클래스에 추가됩니다. 일부 타사 라이브러리에서 xml 파일을 사용해야 하는 경우 @Configuration 클래스를 프로젝트의 기본 구성 클래스로 사용하는 것이 좋습니다. @ImportResource 주석을 사용하여 xml 구성 파일을 로드할 수 있습니다.

4, @ComponentScan

구성요소 스캔. spring Boot가 Configuration 클래스를 스캔하고 이를 프로그램 컨텍스트에 추가하도록 합니다.

@ComponentScan 주석은 기본적으로 @Controller, @Service, @Repository 및 @Component 주석이 달린 클래스를 스프링 컨테이너로 어셈블합니다.

5. @Repository

는 데이터 액세스 구성 요소, 즉 DAO 구성 요소에 레이블을 지정하는 데 사용됩니다.

@Repository 주석을 사용하면 DAO 또는 저장소가 이 주석으로 수정된 DAO 또는 저장소 클래스를 ComponetScan에서 검색하고 구성할 수 있으며 이에 대한 XML 구성 항목을 제공할 필요가 없습니다.

6. @Service

는 일반적으로 서비스 계층의 구성 요소를 수정하는 데 사용됩니다.

7. @RestController

는 제어 계층 구성 요소(예: Struts의 작업)를 표시하는 데 사용됩니다. 컨트롤러 빈이며 함수의 반환 값을 HTTP 응답 본문에 직접 채우고 REST 스타일 컨트롤러이며 @Controller 및 @ResponseBody의 컬렉션입니다.

8. @ResponseBody

는 이 메서드의 반환 결과가 HTTP 응답 본문에 직접 기록된다는 의미입니다.

는 일반적으로 @RequestMapping을 사용한 후 반환 값을 점프로 구문 분석합니다. path, plus @responsebody 다음에 반환된 결과는 점프 경로로 구문 분석되지 않고 HTTP 응답 본문에 직접 기록됩니다. 예를 들어, json 데이터를 비동기적으로 얻고 @responsebody를 추가하면 json 데이터가 직접 반환됩니다.

9. @Component

일반적으로 구성 요소를 분류하기 어려운 경우 이 주석을 주석으로 사용할 수 있습니다.

10. @Bean

은 클래스 대신 메소드 위에 배치되며, 이는 관리를 위해 Bean을 생성한다는 의미입니다. .

11, @AutoWired

byType 방식. 구성된 빈을 사용하여 속성과 메소드의 조립을 완료합니다. 클래스 멤버 변수, 메소드 및 생성자에 주석을 달아 자동 조립을 완료할 수 있습니다.

(required=false)를 추가하면 Bean을 찾을 수 없어도 오류가 보고되지 않습니다.

12.@Qualifier

동일한 유형의 Bean이 여러 개인 경우 @Qualifier("name")를 사용하여 지정할 수 있습니다. @Autowired

13과 함께 사용됩니다. @Resource(name="name",type="type")

괄호 안에 내용이 없으면 기본값은 byName입니다. @Autowired를 사용하여 비슷한 작업을 수행하세요.

14.@RequestMapping

RequestMapping은 요청 주소 매핑을 처리하는 데 사용되는 주석으로, 라우팅 정보를 제공하고 컨트롤러의 특정 기능에 대한 URL 매핑을 담당합니다. 클래스에서 사용된다는 것은 요청에 응답하는 클래스의 모든 메서드가 이 주소를 상위 경로로 사용한다는 의미입니다.

15. @RequestParam

은 메소드의 매개변수 앞에 사용됩니다. 예:

@RequestParam String a =request.getParameter("a")。

16, @PathVariable

경로 변수. 매개변수는 중괄호 안의 이름과 동일해야 합니다. 예:

RequestMapping("user/get/mac/{macAddress}")
public String getByMacAddress(@PathVariable String macAddress){
  //do something;
}

17, @Profiles

Spring 프로필은 애플리케이션 구성을 격리하고 이러한 구성이 특정 환경에서만 유효하도록 만드는 방법을 제공합니다.

任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。

@Configuration
@Profile("prod")
public class ProductionConfiguration {
    // ...
}

18、@ConfigurationProperties

Spring Boot可使用注解的方式将自定义的properties文件映射到实体bean中,比如config.properties文件。

@Data
@ConfigurationProperties("rocketmq.consumer")
public class RocketMQConsumerProperties extends RocketMQProperties {
    private boolean enabled = true;
    private String consumerGroup;
    private MessageModel messageModel = MessageModel.CLUSTERING;
    private ConsumeFromWhere consumeFromWhere = ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET;
    private int consumeThreadMin = 20;
    private int consumeThreadMax = 64;
    private int consumeConcurrentlyMaxSpan = 2000;
    private int pullThresholdForQueue = 1000;
    private int pullInterval = 0;
    private int consumeMessageBatchMaxSize = 1;
    private int pullBatchSize = 32;
}

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

위 내용은 springboot의 일반적인 주석은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.