@SpringBootApplication

申明让spring boot自动给程序进行必要的配置,这个配置等同于:

@Configuration,@EnableAutoConfiguration和 @ComponentScan三个配置。

@RequestMapping

提供路由信息,负责URL到Controller中的具体函数的映射。

@ResponseBody

表示该方法的返回结果直接写入HTTP response body中,一般在异步获取数据时使用,用于构建RESTful的api。

该注解经常配合RequestMapping使用

@Controller

在spring项目中由控制器负责将用户发来的URL请求转发到对应的服务接口(service层)

该注解一般配合RequestMapping使用

@RestController

@ResponseBody+@Controller的结合

@ComponentScan

(个人看法)表示将该类自动发现扫描组件。

@Autowired

自动导入依赖的bean

@Import

用来导入其他配置类。

@ImportResource

用来加载xml配置文件。

@Service

注解用于类上,标记当前类是一个service类,加上该注解会将当前类自动注入到spring容器中,不需要再在applicationContext.xml文件定义bean了。

@Bean:

用@Bean标注方法等价于XML中配置的bean。

@Value

注入Spring boot application.properties配置的属性的值。示例代码:

@Value(“${upload.uploadWindows}”)

@Configuration

加上@Configuration注解主要是给我们的类加上了cglib代理。在执行我们的配置类的方法时,会执行cglib代理类中的方法,其中有一个非常重要的判断,当我们的执行方法和我们的调用方法是同一个方法时,会执行父类的方法new(cglib代理基于继承);当执行方法和调用方法不是同一个方法时会调用beanFactory.getBean获取。

@Component

标注Spring管理的Bean,使用@Component注解在一个类上,表示将此类标记为Spring容器中的一个Bean。

@Qualifier

当有多个同一类型的Bean时,可以用@Qualifier(“name”)来指定。与@Autowired配合使用

Qualifier 的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的,添加 @Qualifier 注解,需要注意的是@Qualifier 的参数名称为我们之前定义 @Service 注解的名称之一

@Resource

@Resource和@Autowired注解都是用来实现依赖注入的。只是@AutoWried按by type自动注入,而@Resource默认按byName自动注入。

@EnableAutoConfiguration

自动配置。

@JsonIgnore

作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

@ControllerAdvice

包含@Component。可以被扫描到。统一处理异常。

@ExceptionHandler(Exception.class)

用在方法上面表示遇到这个异常就执行以下方法。

@RequestParam

用于将指定的请求参数赋值给方法中的形参。

有三个属性:

(1)value:请求参数名(必须配置)

(2)required:是否必需,默认为 true,即 请求中必须包含该参数,如果没有包含,将会抛出异常(可选配置)

(3)defaultValue:默认值,如果设置了该值,required 将自动设为 false,无论你是否配置了required,配置了什么值,都是 false(可选配置)

@PathVariable

@PathVariable 映射 URL 绑定的占位符
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过

@PathVariable(“xxx”) 绑定到操作方法的入参中。

一般与@RequestMapping(method = RequestMethod.GET)一起使用

@Override

是伪代码,表示重写(当然不写也可以)

@Repository

@Repository的功能是将数据访问层(Dao层)的类识别并标注为SpringBean