이 글은 spring과 springboot에 대한 간략한 분석을 담고 있습니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
@ConfigurationProperties
리소스 파일의 콘텐츠를 개체에 바인딩하는 것이 매우 편리합니다
@Value("${app.name}")
간단한 값 삽입
@Import
import를 통해 springIOC 컨테이너에 인스턴스 추가
/** * 定义一个圆形 * * @author zhangqh * @date 2018年5月1日 */ public class Circular { }
/** * 定义一个正方形 * * @author zhangqh * @date 2018年5月1日 */ public class Square { }
다음과 같이 MainConfig 주석 구성에 @Import 주석을 추가합니다.
@Import({Square.class,Circular.class}) @Configuration public class MainConfig
AnnotationConfigApplicationContext applicationContext2 = new AnnotationConfigApplicationContext(MainConfig.class); String[] beanNames = applicationContext2.getBeanDefinitionNames(); for(int i=0;i<beanNames.length;i++){ System.out.println("bean名称为==="+beanNames[i]); }
실행 결과:
bean名称为===mainConfig bean名称为===com.zhang.bean.Square bean名称为===com.zhang.bean.Circular
@RequestMapping
이 주석은 클래스 및 메서드에 사용할 수 있습니다. 클래스에 사용되는 은 상위 경로를 나타냅니다. 예를 들어 클래스가 데모이고 메소드가 /demo1이면 액세스 경로는 데모/demo1입니다.
이 주석에는 6개의 속성이 있습니다.
params: 특정 매개변수가 요청에 포함됩니다. 메소드가 처리되기 전에는 값이 YES입니다.
헤더: 이 메서드가 요청을 처리하려면 지정된 요청에 지정된 특정 헤더 값이 포함되어야 합니다.
value: 요청의 실제 주소를 지정합니다. 지정된 주소는 URI 템플릿 모드일 수 있습니다.
method: 요청의 메서드 유형(GET, POST, PUT, DELETE 등)을 지정합니다.
consumes: 제출 콘텐츠 유형(Content)을 지정합니다. -Type) 요청 처리용(예: application/json, text/html)
produces: 반환할 콘텐츠 유형을 지정합니다. 요청 헤더의 (Accept) 유형에 지정된 유형이 포함된 경우에만
을 반환합니다. @PathVariable
해당 경로의 변수는 매개변수 이전에 사용되며 경로의 변수 이름은 매개변수 이름
RequestMapping("demo/demo1/{name}")public String say(@PathVariable String name){ }
@RequestParam
과 동일한 효과를 가집니다. 다음 코드
문자열 이름 =request.getParameter("이름").
@RequestBody
은 메서드 매개변수가 HTTP 요청 본문에 바인딩되어 있으며 프런트 엔드가 이를 양식으로 제출할 수 없으며 json으로 제출해야 함을 의미합니다.
@RequestMapping(value = "/something", method = RequestMethod.PUT) public void handle(@RequestBody String body,@RequestBody User user){ //可以绑定自定义的对象类型 }
@ResponseBody
은 출력이 json 형식의 데이터임을 의미합니다.
@ModelAttribute
1. 매개변수에 적용하면 클라이언트가 전달한 매개변수가 지정된 개체에 이름으로 주입되고 이 개체는 View 레이어에서 쉽게 사용할 수 있도록 자동으로 ModelMap에 추가됩니다.
2. 메소드에 적용하면 @RequestMapping으로 표시된 각 메소드 전에 실행됩니다. 반환 값이 있으면 자동으로 ModelMap에 추가됩니다.@Bean
은 <와 동일합니다. 클래스 대신 메소드 위에 배치되는 XML의 ;bean>은 bean을 생성하고 관리를 위해 이를 스프링에 넘겨주는 것을 의미합니다.@Qualifier
동일한 유형의 Bean이 여러 개 있는 경우 @Qualifier("name")를 사용하여 지정할 수 있습니다. @Autowired와 함께 사용되는 @Autowired
는 Spring의 org.springframework.beans.factory.annotation 패키지에 속하며 클래스 속성, 생성자 및 메서드에 대한 값을 주입하는 데 사용할 수 있습니다@Resource
Spring에 속하지 않지만 java.annotation 패키지의 JSR-250에서 오는 Annotation입니다. 이 Annotation을 사용하여 대상 Bean에 대한 Collaborator Bean을 지정합니다. @Resource는 @Autowired와 동일하며 필드 또는 속성의 setter 메서드에 주석을 달 수 있습니다. 참고: @Autowired 주석은 기본적으로 유형별로 어셈블됩니다. 컨테이너에 동일한 유형의 Bean이 여러 개 포함되어 있는 경우 컨테이너를 시작할 때 지정된 유형의 Bean을 찾을 수 없다는 예외가 보고됩니다. @Qualified 주석으로 제한하려면 주입된 Bean 이름을 지정하세요. @Resource name 속성이 지정되지 않고 기본 이름에 따라 종속 개체를 찾을 수 없는 경우 @Resource 주석은 유형별로 어셈블리로 대체됩니다. 그러나 name 속성이 지정되면 이름으로만 조합할 수 있습니다. @Autowired 주석은 어셈블리 중에 쉽게 예외를 발생시킬 수 있습니다. 특히 여러 빈 유형이 어셈블리되는 경우 해결책은 자격을 위해 @Qualitied를 추가하는 것입니다. Component 클래스 주석@Component: 일반적인 Spring Bean 클래스를 표준으로 합니다.@Repository: DAO 구성 요소 클래스를 표시합니다.
@Service: 비즈니스 로직 구성 요소 클래스를 표시합니다.
@Controller: 컨트롤러 구성 요소 클래스를 표시합니다.
이 포함되어 있으며 일반적으로 시작 클래스에서 사용됩니다.
@ComponentScan
구성요소 스캔. @Component @Controller @Service 및 기타 주석이 있는 클래스를 스캔하면 해당 클래스가 Bean으로 등록됩니다.@Configuration
은 이 클래스가 Bean 구성의 정보 소스이며 XML의 3c9fdce8078791299ca92e41bddc2b8fa6748f3712e7c0e1f60ffca24b3db7b0에 해당하며 일반적으로 기본 클래스에 추가된다는 점을 지적합니다.@EnableAutoConfiguration
Spring Boot는 일반적으로 메인 클래스에 추가되는 애플리케이션에서 선언한 종속성을 기반으로 Spring 프레임워크를 자동으로 구성합니다.@Profiles
Spring Profiles提供了一种隔离应用程序配置的方式,并让这些配置只能在特定的环境下生效。
任何@Component或@Configuration都能被@Profile标记,从而限制加载它的时机。
@Configuration @Profile("prod")public class ProductionConfiguration { // ...}
위 내용은 spring 및 springboot 주석에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!