1、项目配置注解
@Configuration:表明这个类是一个配置类,可以启动组件扫描,用来将带有@Bean的实体进行实例化bean等;
@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。
@ServletComponentScan:
@MapperScan:
@ComponentScan:用来自动扫描被这些注解标识的类,最终生成ioc容器里的bean,默认扫描范围是@ComponentScan注解所在配置类包及子包的类;
@SpringBootConfiguration:与@Configuration作用相同,都是用来声明当前类是一个配置类,这里表明是springboot主类使用的配置类
@EnableAutoConfiguration:是springboot实现自动化配置的核心注解,通过这个注解把spring应用所需的bean注入容器中
@EnableConfigServer:用在启动类上,表示这是一个配置中心,开启Config Server
*
2、控制器【controller】
@Controller:控制层(controller)注入spring容器
@Autowired:自动导入,按类型装配,如果发现找到多个bean,则按照name方式比对,如果还有多个,则报出异常
@CrossOrigin:
@PathVariable:
@EnablCaching:
@RestController:该注解是@Controller和@ResponseBody的结合体,一般用于类,作用等于在类上面添加了@ResponseBody和@Controller;
@RequestMapping:可以通过配置的url进行访问,方式可以是get或post请求,两种方式均可;
@ResponseBody:作用其实是将java对象转为json格式的数据。
@ModelAttribute:
@GetMapping:限定了只能是Get请求;
@PostMapping:限定了只能是Post请求;
@DeleteMapping:
@PathVariable:
@Override:
@EnableWebSecurity:
@EnableGlobalMethodSecurity:
@EnableAuthorizationServer:
@Bean
*
@EnableRetry:
*
3、servcie层注解
@Service:业务逻辑层(server)注入spring容器
@Resource:
*
4、持久层注解
@Repository:持久层(dao)注入spring容器
@Mapper:
@Component:普通pojo注入spring容器
@Transactional:
*
5、JPA注解
@Entity:定义对象将会成为被JPA管理的实体,将映射到指定的数据库表;
@Table:指定数据库的表名;
@Basic:表示属性是到数据库表的字段的映射;
@Id:定义属性为数据库的主键;
@GeneratedValue:主键生成策略;
@Column:定义该属性对应数据库中的列名;
@Enumerated:直接映射enum枚举类型的字段
6、其他注解
@ControllerAdvice:默认拦截所有控制器,处理全局异常,预设全局数据,请求参数预处理;
@ExceptionHandler:
*
*