@Component
表示一个带注释的类是一个“组件”,成为Spring管理的Bean。当使用基于注解的配置和类路径扫描时,这些类被视为自动检测的候选对象。同时@Component还是一个元注解。
@SpringBootApplication
相当于@Configuration+@EnableAutoConfiguration+@ComponentScan。
@Configuration
声明当前类是一个配置类(相当于一个Spring配置的xml文件)。
@EnableAutoConfiguration
此注释自动载入应用程序所需要的所有Bean。(载入bean)
@ComponentScan
自动扫描指定包下所有使用@Service@Component@Controller@Repository的类并注册。(注册bean)
@Controller
应用在MVC层,DispatcherServlet会自动扫描注解了此注解的类,然后将请求映射到@RequestMapping的方法上。
@RequestMapping
用来映射Web请求,处理类和方法。可以注解在类和方法上,注解在方法上的@RequestMapping路径会继承注解在类上的路径。同时支持Serlvet的request和response作为参数,也支持对request和response的媒体类型进行配置。其中有value(路径),produces(定义返回的媒体类型和字符集),method(指定请求方式)等属性。
@ResponseBody
将返回值放在response体内。返回的是数据而不是页面。
@RestController
相当于@ResponseBody+@Controller。
@Transactional
声明事务(一般默认配置即可满足要求,当然也可以自定义)。
@Service
声明这是一个业务处理类,通常和@Transactional一起使用
@Repository
声明此类是一个数据库或者其他NoSQL访问类。
@PostConstruct
当Bean被容器初始化后,会调用@PostConstruct的注解方法。
@PreDestory
在容器被销毁之前,调用被@PreDestory注解的方法。
@Aspect
声明这是一个切面类
@After
后置建言(advice),在原方法后执行
@Before
前置建言(advice),在原方法前执行
@Around
环绕建言(advice),在原方法之前执行,在原方法执行之后再执行
@PathVariable
表示参数的值来自于URL路径
@RequestBody
带有@RequestBody的参数,意味着请求的HTTP消息体的内容是一个JSON,需要转化为注解指定的参数类型。
@Null(Bean属性验证)
验证对象是否为空
@NotNull(Bean属性验证)
验证对象不为空
@NotBlank(Bean属性验证)
验证字符串不为空或者不是空字符串,比如""和" "都会验证失败
@NotEmpty(Bean属性验证)
验证对象不为null,或集合不为空
@Size(min=,max=)(Bean属性验证)
验证对象长度,可支持字符串、集合
@Lenth(Bean属性验证)
字符串大小
@Min(Bean属性验证)
验证数字是否大于等于指定值
@Max(Bean属性验证)
验证数字是否小于等于指定值
@Digits(Bean属性验证)
验证数字是否符合指定格式,如@Digits(integer=9,fraction=2)
@Range(Bean属性验证)
验证数字是否在指定的范围里,如@Range(min=1,max=1000)
@Email(Bean属性验证)
验证是否为邮箱格式
@Pattern(Bean属性验证)
验证String对象是否符合正则表达式的规则