@Autowired 按照类型(byType)装配依赖对象
@Resource 默认按照 ByName 自动注入
Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。
所以如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。
如果既不指定name也不指定type属性,这时将通过反射机制使用byName自动注入策略
①如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
②如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
③如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。
④如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则按照byType方式进行装配
@Bean Bean的ID为名字
@Component 可以用于注册所有bean
@Component没有后面跟名字的,则bean id 默认为头字母小写类名
@Component注解的范围最广,所有类都可以注解
@Configuration注解一般注解在这样的类上:这个类里面有@Value注解的成员变量和@Bean注解的方法,就是一个配置类
@Repository 主要用于注册dao 持久层的bean
@Controller 主要用于注册控制层的bean
@Service 主要用于注册服务层的bean
@Mapper 在MyBatis Mapper 类上注解@Mapper
@MapperScan 通过使用@MapperScan可以指定要扫描的Mapper类的包的路径
@RequestMapping 注解可以在控制器类的级别和/或其中的方法的级别上使用
@RequestMapping 注解中的 method 元素声明了 HTTP 请求的 HTTP 方法的类型
@RequestParam 注解配合 @RequestMapping 一起使用,可以将请求的参数同处理方法的参数绑定在一起
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping