springboot에서 일반적으로 사용되는 주석은 다음과 같습니다. 1. SpringBootApplication; 3. 서비스 4. RestController 6. 구성요소 등
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!