文章目录
- 摘要
- 1.@RestController :
- 2.@PathVaribale和@RequestParam区别:
- 3.@EqualsAndHashCode(callSuper = false)
- 4.@RequestParam :
- 5.@RequestBody :
- 6.@InsertProvider :
- 7.@SelectKey :
- 8.@SelectProvider(type=xxxx.class,method=”xxxx”)
- 9.@ServletComponentScan :
- 10.@SpringBootApplication :
- 11.@ImportResource :
- 12.@ConfigurationProperties :
- 13.@Import
- 14.@interface :元注解以及自定义注解
- 15.@Results:
- 16.@Data注解 与 lombok
- 17.@Resource与@Autowired用法区别
- 18.测试类注解@RunWith(SpringRunner.class)
- 19.测试类注解@SpringBootTest(classes = CalculateExecuteEngineApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
- 20.@NotNull @NotEmpty @NotBlank 使用场景
- 21.@PostConstruct注解
- 22.@Service(“xxx”)
- 23.@Qualifier(“xxx”)
摘要
针对@xxx注解进行讲解:
- @RestController
- @PathVaribale和@RequestParam区别
- @EqualsAndHashCode(callSuper = false)
- @RequestParam
- @RequestBody
- @InsertProvider
- @SelectKey
- @SelectProvider(type=xxxx.class,method=”xxxx”)
- @ServletComponentScan
- @SpringBootApplication
- @ImportResource
- @ConfigurationProperties
- @Import
- @interface :元注解以及自定义注解
- @Results
- @Data注解 与 lombok
- @Resource与@Autowired用法区别
- 测试类注解@RunWith(SpringRunner.class)
- 测试类注解@SpringBootTest(classes = CalculateExecuteEngineApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
- @NotNull @NotEmpty @NotBlank 使用场景
- @PostConstruct注解
- @Service(“xxx”)
- @Qualifier(“xxx”)
1.@RestController :
组合注解,Controller纳入spring容器,完成异步响应
2.@PathVaribale和@RequestParam区别:
帖子详情:https://blog.csdn.net/u010412719/article/details/69788227
3.@EqualsAndHashCode(callSuper = false)
-》 这个注解的作用就是自动的给model bean实现equals方法和hashcode方法,且不调用父类的属性
4.@RequestParam :
用于将请求参数区数据映射到功能处理方法的参数上
5.@RequestBody :
主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。
@RequestBody(required=false) 表示xxx对象可以不传入
6.@InsertProvider :
@Insert和@InsertProvider都是用来在实体类的Mapper类里注解保存方法的SQL语句。不同的是,@Insert是直接配置SQL语句,而@InsertProvider则是通过SQL工厂类及对应的方法生产SQL语句,这种方法的好处在于,我们可以根据不同的需求生产出不同的SQL,适用性更好。
7.@SelectKey :
何获在插入后,获取自增主键id的值,自动放到pojo的id属性
@InsertProvider(type = BusinessRulesItemSqlProvider.class, method = “addBusinessRulesItem”)
@SelectKey(statement = “SELECT LAST_INSERT_ID()”, keyProperty = “id”, before = false, resultType = Long.class)
8.@SelectProvider(type=xxxx.class,method=”xxxx”)
用自定义的provider类构造SQL语句,type 属性用于指定获取sql语句的指定类,method 属性用于指定类中要执行获取sql语句的方法
@Results注解来映射查询结果集到实体类属性。
9.@ServletComponentScan :
在SpringBootApplication上使用@ServletComponentScan注解后,Servlet、Filter、Listener可以直接通过@WebServlet、@WebFilter、@WebListener注解自动注册,无需其他代码。
10.@SpringBootApplication :
springboot启动类中==@SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan==
@Configuration的注解类标识这个类可以使用SpringIoC容器作为bean定义的来源。@Bean注解告诉Spring,一个带有@Bean的注解方法将返回一个对象,该对象应该被注册为在Spring应用程序上下文中的bean。
@EnableAutoConfiguration:能够自动配置spring的上下文,试图猜测和配置你想要的bean类,通常会自动根据你的类路径和你的bean定义自动配置。
@ComponentScan:会自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。
11.@ImportResource :
springboot启动类中==@ImportResource==用于加载其他的配置文件。Eg:yml或xml文件,不然只默认加载application的配置文件。
12.@ConfigurationProperties :
spring boot 使用 -》==@ConfigurationProperties ==: 把配置文件的信息,读取并自动封装成实体类
@EnableConfigurationProperties注解的作用是:使得使用 @ConfigurationProperties 注解的类生效。
13.@Import
有时没有把某个类注入到IOC容器中,但在运用的时候需要获取该类对应的bean
14.@interface :元注解以及自定义注解
15.@Results:
16.@Data注解 与 lombok
17.@Resource与@Autowired用法区别
详情:↓ https://blog.csdn.net/modelsetget/article/details/82285568
18.测试类注解@RunWith(SpringRunner.class)
19.测试类注解@SpringBootTest(classes = CalculateExecuteEngineApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
20.@NotNull @NotEmpty @NotBlank 使用场景
21.@PostConstruct注解
22.@Service(“xxx”)
@service(“xxx”)括号里的xxx是要实现的类的一个对象名,比如在一个Student实现类上加上@Service(“student”),括号里面就是给实例化后的Student对象取个名字。。。
这是在一个接口有多个实现类的情况下区分实现类的方式。。。。
比如Student实现了Person接口,在你的controller里面@Autowired(自动装配) Person时,假如这时Person还有另一个实现类User,为了确定实例化Student还是User,
@Service括号里面的东西就有用了,
@Autowired
@Qualifier(“xxx”) —合格者,多个实现时,表示实现的具体是哪一个。xxx是@service(“xxx”)中的xxx
private Person person;
23.@Qualifier(“xxx”)
Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的;
@Autowired默认按照类型匹配注入bean,如果有多个实现类,搭配@Qualifier(“实现类名称”)表明注入的是哪一个实现类的bean:
比如:
@Autowired
@Qualifier(“TestServiceImpl1”)
private TestService testService; //注入的就是TestServiceImpl1这个实现类,注意如果该实现类使用了诸如@Service(“beanName”)这种注解,那么TestServiceImpl1就是beanName;
而@Resource默认按照名称匹配注入bean,而且可以使用name作为属性来确定实际注入的bean
比如:
@Resource(name = “TestServiceImpl1”)
private TestService testService;
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106265.html