学习java的第一天 注解的使用

1.@Controller   

使用 @Controller 注解的类将会被 Spring MVC 自动扫描,并注册为一个控制器。

2.RestController

@RestController注解相当于@ResponseBody+@Controller的组合,RestController将方法返回的对象直接在浏览器上展示成json格式。

3.@service  

@Service注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中。在调用该service的时候只需要将该类注入接口。

4.@Reponsitory

@Repository与@Service和@Controller都可以理解为@Component注解的扩展。他们的作用都是在类上实例化bean,并把当前类对象的实现类交给spring容器进行管理。

5.@Component 

它提供了自动扫描和实例化bean的功能。

 https://zhuanlan.zhihu.com/p/454638478 

6.@Autowired

由Spring的依赖注入工具(BeanPostProcessor、BeanFactoryPostProcessor)自动注入。

7.@Resource

依赖注入工具,类似@Autowired,@AutoWried按by type自动注入,而@Resource默认按byName自动注入。

spring将name属性解析为bean的名字,而type属性则被解析为bean的类型。所以如果使用name属性,则使用byName的自动注入策略,如果使用type属性则使用byType的自动注入策略。如果都没有指定,则通过反射机制使用byName自动注入策略。

1. 既不指定name属性,也不指定type属性,则自动按byName方式进行查找。如果没有找到符合的bean,则回退为一个原始类型进行查找,如果找到就注入。

2. 只是指定了@Resource注解的name,则按name后的名字去bean元素里查找有与之相等的name属性的bean。

3. 只指定@Resource注解的type属性,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常。

4. 既指定了@Resource的name属性又指定了type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。

 8.@Value 

将配置文件的属性读出来,有@Value(“${}”)@Value(“#{}”)两种方式

SpEL的写法:${表达式},当然也可以类似mybatis中的 #{表达式} 的写法。

9.@Data 

@Data注解可以代替 get(), set(), toString() 等方法使用。

10.RequestMapping

@RequestMapping表示共享映射,如果没有指定请求方式,将接收GET、POST、HEAD、OPTIONS、PUT、PATCH、DELETE、TRACE、CONNECT所有的HTTP请求方式。@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping 都是HTTP方法特有的快捷方式@RequestMapping的变体,分别对应具体的HTTP请求方式的映射注解。

11.@RequestParam

@RequestParam 注解是Spring框架中的一个注解,用于将HTTP请求参数绑定到控制器方法的参数上。通过 @RequestParam 注解,可以方便地获取客户端传递的请求参数。 

深入解析 Java @RequestParam 注解:处理请求参数的高效利用-阿里云开发者社区 (aliyun.com)

12. PathVariable

 将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过@PathVariable(“xxx”) 绑定到操作方法的入参中。

@PathVariable注解的用法和作用(Demo详解)-CSDN博客

13.@ResponseBody

将返回值放在response体内。返回的是数据而不是页面。在异步请求返回json数据时使用。

14.@RequestBody

允许request的参数在request体中,而不是在直接链接在地址的后面。此注解放置在参数前。比如:直接以String接收前端传过来的json数据: 

/***
 * 直接以String接收前端传过来的json数据
 * 
 * @Param str:json格式的字符串
 * @return: json格式的字符串
 **/
@PostMapping("/test")
@ResponseBody
public String test(@RequestBody String str){
	return str;
}

15.@SpringBootApplication  启动

SpringBoot的核心注解,主要目的是开启自动配置。它也是一个组合注解,主要组合了@Configuration,@EnableAutoConfiguration(核心)和@ComponentScan。可以通过@SpringBootApplication(exclude={想要关闭的自动配置的类名.class})来关闭特定的自动配置,其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。

16.@EnableAutoConfiguration   自动配置

自动载入应用程序所需的所有Bean——这依赖于Spring Boot在类路径中的查找。该注解组合了@Import注解,@Import注解导入了EnableAutoCofigurationImportSelector类,它使用SpringFactoriesLoader.loaderFactoryNames方法来扫描具有META-INF/spring.factories文件的jar包。

 17.@Configuration   配置文件

等同于springXML配置文件;使用Java代码可以检查类型安全。

SpringBoot的@Configuration扫盲 - 知乎 (zhihu.com)

18.@ComponentScan   自动扫描

@Component注解及其衍生注解@RestController、@Controller、@Service和@Repository都是组件注册注解。@ComponentScan注解主要是从约定的扫描路径中,识别标注了组件注册注解的类,并且把这些类自动注册到spring IoC容器中,这些类就是我们通常所言的bean。IoC容器是Spring的特色之一,可以使用它管理bean。当然,@Configration注解修饰的类也会被托管给IoC容器。

Spring Boot注解之@ComponentScan用法和实现原理 - 楼兰胡杨 - 博客园 (cnblogs.com)

19.@SpringBootTest

@SpringBootTest注解是SpringBoot Since:1.4.0 版本开始引入的一个用于测试的注解。 

20.@Test

将普通类修饰成测试类。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值