一.@RestController:当前Controller类交给Spring容器管理,同时所有的返回值都是JSON。@RestController是@ResponseBody和@Controller的组合注解。
二.@CrossOrigin:用来处理跨域请求。浏览器执行javascript脚本时,会检查这个脚本属于哪个页面,如果不是同源页面,就不会被执行。当域名www.abc.com下的js代码去访问www.def.com域名下的资源,就会受到限制。
@CrossOrigin可以处理跨域请求,让你能访问不是一个域的文件。
例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站。来自EVILL的脚本不能够对你的银行API做出Ajax请求(从你的帐户中取出钱!)使用您的凭据。
三.@RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
四.@Autowired:注入。这个注解就是spring可以自动帮你把bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。
五.@RequestBody:作用其实是将json格式的数据转为java对象。
六.@GetMapping用于将HTTP get请求映射到特定处理程序的方法注解。具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@GetMapping小于@RequestMapping。
七.@PostMapping用于将HTTP post请求映射到特定处理程序的方法注解。具体来说,@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
八.@PathVariable:restFul的风格获取数据。接收请求路径中占位符的值。如果对象的属性与{名称}一致 则可以省略注解.。
九.@Controller:@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。
十. @ResponseBody:作用其实是将java对象转为json格式的数据。@ResponseBody是作用在方法上的,表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用(也就是AJAX)。
十一. @RequestParam:@RequestParam接收的参数是来自HTTP请求体或请求url的QueryString中。
RequestParam可以接受简单类型的属性,也可以接受对象类型。不推荐使用@RequestParam接收application/json,这时候就需要使用到@RequestBody。
json字符串部分可以用@RequestBody;url中的?后面参数可以用@RequestParam。
参数:
value:参数名
required:是否包含该参数,默认为true,表示该请求路径中必须包含该参数,如果不包含就报错。
defaultValue:默认参数值,如果设置了该值,required=true将失效,自动为false,如果没有传该参数,就使用默认值
十二. @RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @PathVariable 是从一个URI模板里面来填充
十三.@Service:用于标注业务层组件。如果一个类带了@Service注解,将自动注册到Spring容器,不需要再在applicationContext.xml文件定义bean了,类似的还包括@Component、@Repository、@Controller。
十四.@Override:表示重写。编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。
十五.@Tablefield:@TableField(exist = false) 注解加载bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用,这样在新增等使用bean的时候,mybatis-plus就会忽略这个,不会报错
十六.@Transactional:对方法进行事务的控制。(报异常就会控制,增删改操作)
十七.@PropertySource:(遇到Source,必定写”classpath:/”)(\\变成/) 作用是:加载指定的属性配置文件(*.properties)到 Spring中。可以配合@Value使用。@PropertySource 和 @Value组合使用,可以将自定义属性文件中的属性变量值注入到当前类的使用@Value注解的成员变量中。
十八.@Value:不通过配置文件的注入属性的情况。通过@Value将外部的值动态注入到Bean中(需要借助@RefreshScope))
十九.@TableName 注解用来将指定的数据库表和 JavaBean 进行映射。
二十.@TableId:比如数据中的表中的字段是id,但是实体类是userId,那么就需要在userId上打上这个注解。
二十一.@NoArgsConstructor:无参构造
二十二.@AllArgsConstructor:全参构造
二十三.@SpringBootApplication : 主启动类
二十四.@Enablediscoveryclient:能够让注册中心能够发现,扫描到改服务。
二十五.@loadbalance:作用在使用RestTemplate时,让restTemplate具备了负载均衡的特性。
二十六.@Bean:
二十七. @Configuration:用于定义配置类,被注解的类内部包含有一个或多个被@Bean注解的方法,初始化Spring容器。注意:@Configuration注解的配置类有如下要求:
1.@Configuration不可以是final类型;
2.@Configuration不可以是匿名类;
3.嵌套的configuration必须是静态类。
二十八.@SentinelResource:限流
二十九.@Component:@component是spring中的一个注解,它的作用就是实现bean的注入。
web开发,提供3个@Component注解衍生注解(功能一样)取代
@Repository(“名称”):dao层
@Service(“名称”):service层
@Controller(“名称”):web层
三十.@RefreshScope:支持配置动态刷新。
九. 1).@Controller 用来标识Controller层的代码 相当于将对象交给Spring管理
2).@Service 用来标识Service层代码
3).@Repository 用来标识持久层(用于mapper实现类)
4).@Component 万用注解
三十一. 1、@Mapper注解:
作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类
添加位置:接口类上面
@Mapper
public interface UserDAO {
//代码
}
如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan
2、@MapperScan
作用:指定要变成实现类的接口所在的包,然后包下面的所有接口在编译之后都会生成相应的实现类
添加位置:是在Springboot启动类上面添加,
@SpringBootApplication
@MapperScan("com.winter.dao")
public class SpringbootMybatisDemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootMybatisDemoApplication.class, args); }
}
添加@MapperScan(“com.winter.dao”)注解以后,com.winter.dao包下面的接口类,在编译之后都会生成相应的实现类
三十二. @FeignClient:用于远程服务调用
三十三. @EnableFeignClients:写在主启动类上,用于识别@FeignClient
@Qualifier:在使用@Autowire自动注入的时候,加上@Qualifier(“test”)可以指定注入哪个对象;