SpringBoot: SpringBoot 개발에서 자주 사용하는 메모 간략화
7891 단어 백엔드 개발백엔드 프레임의 SpringBoot
1. 메모 목록
주해
2.1 @SpringBootApplication
역할:spring boot에서 프로그램에 필요한 설정을 자동으로 하도록 합니다. 이 설정은 @Configuration, @Enable AutoConfiguration, @ComponentScan 세 가지 설정과 같습니다.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
// @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2.2 @ResponseBody
역할: 이 방법의 반환 결과는 HTTP response body에 직접 기록되며 일반적으로 비동기적으로 데이터를 가져올 때 사용되며 RESTful을 구축하는api에 사용됩니다.@RequestMapping을 사용하면 반환 값은 일반적으로 점프 경로로 해석되며 @ResponseBody를 더하면 반환 결과는 점프 경로로 해석되지 않고 HTTP의responseBody에 직접 기록됩니다.예를 들어 json 데이터를 비동기적으로 가져오고 @responsebody를 더하면 json 데이터를 직접 되돌려줍니다.일반적으로 이 메모는 @RequestMapping과 함께 사용됩니다.코드 예:
@RequestMapping(“/test”)
@ResponseBody
public String test(){
return”ok”;
}
@RequestMapping(“/test”)
public @ResponseBody String test(){
return”ok”;
}
2.3 @Controller
역할: 컨트롤러 클래스를 정의하는 데 사용되며,spring 프로젝트에서 컨트롤러가 사용자가 보낸 URL 요청을 대응하는 서비스 인터페이스 (서비스 층) 로 전송합니다. 일반적으로 이 주석은 클래스에 있으며, 일반적인 방법은 주석@RequestMapping에 협조해야 합니다.코드 예:
@Controller
@RequestMapping(“/demo”)
publicclass DemoController {
@Autowired
private DemoInfoService demoInfoService;
@RequestMapping("/hello")
public String hello(Map map){
System.out.println("DemoController.hello()");
map.put("hello","from TemplateController.helloHtml");
// hello.html hello.ftl .
return "/hello";
}
}
2.4 @RestController
역할: struts의 action과 같은 제어층 구성 요소를 표시하고 @ResponseBody와 @Controller의 집합을 표시합니다.코드 예:
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(“/demo”)
publicclass DemoController2 {
@RequestMapping("/test")
public String test(){
return"ok";
}
}
2.5 @RequestMapping
역할: URL을 Controller에 매핑하는 라우팅 정보를 제공합니다.
2.6 @EnableAutoConfiguration
역할: 자동 구성(auto-configuration)추가한jar에 따라 Spring 응용 프로그램을 자동으로 설정해 보십시오.예를 들어,classpath에 HSQLDB가 존재하고, 데이터베이스 연결 빈스를 수동으로 설정하지 않으면, 메모리형 (in-memory) 데이터베이스를 자동으로 설정합니다.
@Enable AutoConfiguration 또는 @SpringBootApplication 주석을 @Configuration 클래스에 추가하여 자동 설정을 선택할 수 있습니다.원하지 않는 특정 자동 구성 클래스가 적용된 것을 발견하면 @Enable AutoConfiguration 메모의 배제 속성을 사용하여 사용하지 않을 수 있습니다.
2.7 @ComponentScan
역할: 이 클래스를 자동 검색 스캔 구성 요소로 표시합니다.즉 @Component, @Controller, @Service 등 주석이 있는 클래스를 스캔하고 Bean으로 등록하면 @Configuration 클래스를 포함한 모든 Spring 구성 요소를 자동으로 수집할 수 있습니다.@ComponentScan 주석을 사용하여 빈스를 검색하고 @Autowired 주석과 함께 가져옵니다.@Configuration 클래스를 포함한 모든 Spring 구성 요소를 자동으로 수집할 수 있습니다.
구성이 없으면 Spring Boot은 시작 클래스와 하위 패키지에서 @Service, @Repository 등의 메모를 사용하는 클래스를 검색합니다.
2.8 @Configuration
역할: 전통적인 xml 프로필에 해당합니다. 만약에 제3자 라이브러리에서 xml 파일을 사용해야 한다면 @Configuration 클래스를 프로젝트의 프로필 주 클래스로 사용하십시오. @ImportResource 주석을 사용하여 xml 프로필을 불러올 수 있습니다.
2.9 @Import
역할: 다른 설정 클래스를 가져오는 데 사용합니다.
2.10 @ImportResource
역할: xml 프로필을 불러옵니다.
2.11 @Autowired
역할: 의존하는 bean을 자동으로 가져옵니다.byType 방식.설정된 빈을 가져와서 속성, 방법의 조립을 완성합니다. 클래스 구성원의 변수, 방법과 구조 함수를 표시하여 자동 조립 작업을 완성할 수 있습니다.(required=false)를 더하면 비안을 찾지 못해도 틀리지 않습니다.
2.12 @Service
역할: 서비스 층을 수식하는 데 일반적으로 사용되는 구성 요소
2.13 @Repository
역할: @Repository 주석을 사용하면 DAO나 Repositories가 비정상적인 번역을 제공할 수 있습니다. 이 주석이 수식된 DAO나 Repositories 클래스는ComponetScan에 의해 발견되고 설정되며 XML 설정 항목을 제공할 필요가 없습니다.
2.14 @Bean
역할: @Bean 표시 방법으로 XML에 설정된 bean과 같습니다.
2.15 @Value
역할: Spring boot 응용 프로그램을 주입합니다.properties 설정의 속성 값입니다.코드 예:
@Value(value = “#{message}”)
private String message;
2.16 @Inject
역할: 기본 @Autowired와 같습니다. Required 속성이 없습니다.
2.17 @Component
역할: 구성 요소를 가리키며, 구성 요소가 분류하기 어려울 때, 우리는 이 주석을 사용하여 표시할 수 있습니다.
2.18 @Qualifier
역할: 같은 종류의 빈이 여러 개 있을 때 @Qualifier ("name") 로 지정할 수 있습니다.@Autowired와 함께 사용합니다. @Qualifier 한정 설명자는 이름에 따라 주입할 수 있을 뿐만 아니라 후보자를 어떻게 선택하는지 더욱 세밀하게 제어할 수 있다. 구체적인 사용 방식은 다음과 같다.
@Autowired
@Qualifier(value = “demoInfoService”)
private DemoInfoService demoInfoService;
2.19 @Resource(name=”name”,type=”type”)
역할: 괄호 안에 내용이 없으면 기본값byName.@Autowired와 비슷한 일을 합니다.
3. JPA 메모
3.1 @Entity:@Table(name=”“)
작용: 이것은 실체류로 일반적으로 jpa에 사용된다는 것을 나타낸다.이 두 주석은 일반적으로 함께 사용하지만, 테이블 이름과 실체 클래스가 같으면 @Table를 생략할 수 있습니다.
3.2 @MappedSuperClass
역할: 부류인entity를 확인하는 데 사용됩니다.부류의 속성은 부류가 계승할 수 있다.
3.3 @NoRepositoryBean
역할: 일반적으로 부류의 Repository로 사용되는데, 이 주석이 있으면spring은 이 Repository를 실례화하지 않습니다.
3.4 @Column
역할: 필드 이름이 열 이름과 같으면 생략할 수 있습니다.
3.5 @Id
작용: 이 속성이 메인 키임을 나타낸다.
3.6 @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = “repair_seq”)
역할: 키 생성 정책이 sequence(Auto, IDENTITY,native 등이고 Auto는 여러 데이터베이스 사이를 전환할 수 있음을 나타낸다),sequence의 이름은 repairseq.
3.7 @SequenceGeneretor(name = “repair_seq”, sequenceName = “seq_repair”, allocationSize = 1)
역할:name은 sequence의 이름입니다. sequenceName은 데이터베이스의 sequence 이름이고 두 이름은 일치할 수 있습니다.
3.8 @Transient
역할: 이 속성이 데이터베이스 테이블에 있는 필드가 아닌 것을 의미하며, ORM 프레임워크는 이 속성을 무시합니다.데이터베이스 테이블의 필드 매핑이 아닌 속성은 @Transient로 표시해야 합니다. 그렇지 않으면 ORM 프레임의 주석이 @Basic으로 기본값으로 표시됩니다. @Basic(fetch=FetchType.LAZY): 태그는 솔리드 속성을 로드하는 방법을 지정합니다.
3.9 @JsonIgnore
역할: json 서열화 시 자바 bean의 일부 속성을 무시하고 서열화와 반서열화에 영향을 줍니다.
3.10 @JoinColumn(name=”loginId”)
역할: 일대일.한 쌍이 많다.
3.11 @OneToOne、@OneToMany、@ManyToOne
역할:hibernate 프로필에 대응하는 일대일, 일대일, 다대일.
4. SpringMVC 관련 주석
4.1 @RequestMapping
역할: @RequestMapping ("/path") 은 이 컨트롤러가 모든 "/path"의 UR L 요청을 처리합니다.RequestMapping은 요청 주소 매핑을 처리하는 데 사용되는 주석으로 클래스나 방법에 사용할 수 있습니다.클래스에서 클래스의 모든 응답 요청을 표시하는 방법은 이 주소를 부모 경로로 합니다.
메모에는 다음과 같은 6개의 속성이 있습니다.
역할: 방법의 매개 변수 앞에 사용합니다.
@RequestParam
String a =request.getParameter(“a”)。
4.3 @PathVariable
역할: 경로 변수, 매개 변수는 괄호 안의 이름과 같습니다.아래와 같다
RequestMapping(“user/get/mac/{macAddress}”)
public String getByMacAddress(@PathVariable String macAddress){
//do something;
}
5. 전역 이상 처리
5.1 @ControllerAdvice
역할: @Component가 포함되어 있습니다.스캔될 수 있습니다.이상을 통일적으로 처리하다.
5.2 @ExceptionHandler(Exception.class)
작용: 방법상 이 이상이 발생하면 다음과 같은 방법을 집행한다는 것을 나타낸다.
참조:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
elasticsearch 기초 조회 문장과 상용 문장색인 관련 조회 //모든 인덱스 및 용량 조회 //쿼리 색인 매핑 구조 GET my_index/_mapping //모든 색인 매핑 구조 조회 //모든 동일한 접두사 인덱스 조회 //모든 색인 템플릿 조회 //모든 플...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.