@SpringBootApplication 框架名 应用程序
这是一个复合注解
@SpringBootConfiguration 配置
作用与@Configuration一样,让当前类成为配置类
@EnableAutoConfiguration 允许自动化
开启自动化配置
@ComponentScan 组件扫描器
开启Ioc容器扫描器,自动扫描与当前启动类同级或下级的所有的组件类,发现注册注入
配置Mapper接口所在包路径,MyBatis基于动态代理模式,在运行时代理所有Mapper方法中接口的实现
@Controller
让当前类被扫描器发现并注册对象到IOC容器,并且对象被当做控制器使用
@RequestMapping
映射类或方法的请求url地址,类可以有地址也可以没有,类的url地址是当前类中使用方法url地址的前缀,给类映射url地址的时候不可以指定请求方法,给方法映射url地址的时候可以指定请求方式为get和post,如果不指定默认get
url地址和请求方式要全局唯一
@GetMapping
@PostMapping
@ResponseBody
将控制器方法返回的结果直接转换为json格式,然后放到响应报文中进行返回,这样控制器方法只返回数据,不转发到JSP
它是和ajax发起的HTTP请求一起使用的
@RequestParam
用于修正参数名,设置参数是不是必须的
@RestController
定义一个rest风格的控制器
控制器中所有的方法都默认使用了@ResponseBody注释,只返回数据,不转发和重定向
@GetMapping
@PostMapping








@Service
让Service类被IOC容器发现,注销
@Param
当接口中的方法有多个参数的时候,需要用@Param修正参数的名字,在Mapper.xml文件中根据@Param注解修正后的名字进行取值
@TableName
用于实体类,映射表名
@TableId
映射表中的主键id
@TableField
映射表中的字段
如果实体类中类名和属性名完全遵守驼峰命名规范
数据库表名和字段名完全遵守全小写+下划线连字符规范
那么就不需要使用@TableName和@TableField进行手动映射,MyBatist框架会自动映射
@Configuration
让任意一个类成为一个配置类
@Bean
用于配置类中的方法,将方法返回的对象注册到IOC容器中
@Value(“$(配置名)”)
用于读取application.properties核心配置文件中根据配置名读取配置值,并把值赋给成员变量
@Controller(用于控制器)
@Service(用于Service)
@Repository(用于dao)
@Component(用于普通插件类,例如用于Aop类)
@Configuration(用于配置类)
@Scope
(用于设置注册Bean的作用域)
@Scope(singleton)单例模式
在启动就会发现注册Bean到IOC容器,在使用时不会创建Bean
@Scope(prototype)原型模式
在启动时不会发现注册Bean到IOC容器,在使用时每次都会创建新的bean
@Resource
JDK提供的
@Autowired
框架自带的
@Aspect
定义一个aop切面类
@Pointcut(“execution(*com。)”)
定义一个切面表达式,根据表达式寻找被Aop代理增强的目标方法
@Before
定义一个前置代理增强的方法
@AfterReturning
定义一个返回代理增强的方法
@AfterThrowing
定义一个报错异常代理增强的方法
@After
定义一个后置增强的方法
@Around
定义一个环绕增强的方法
@Transactional
可以用于类,也可以用于方法,如果用于类,则类中所有方法都会开事务执行,用于方法是单个方法开事务执行
可以用于Controller类,也可以用于Service类,或者其他操作数据库的类
必须指定rollbackFor=某个异常类型.class,表示当执行过程中发生这种异常时进行回滚,不发生执行提交
@Transactional(rollbackFor = Exception.class)
事务隔离级别默认是数据库的默认隔离级别,可以通过isolation 设置,取值是Isolation枚举类型
@Transactional(rollbackFor = Exception.class, isolation = Isolation.DEFAULT)
可以通过propagation指定事务传播机制,取值是Propagation枚举类型



@Data
用于自动生成getter和setter和tostring方法,在编译时自动在字节码中生成,重写equals和hashcode方法
@slf4j
用于在字节码中生成一个全局静态常量log,用于打印日志