一、@Autowired
@Autowired:是一种注解,可以对成员变量、方法和构造函数进行标注,来完成自动装配bean的工作表示装配,会从spring容器中按属性类型对应的Bean对象(这个过程叫依赖查找-DL),假如只有一个则直接注入,假如有多个,还会基于属性名与bean对象的名字进行匹配,假如有匹配的则直接注入,没有匹配抛出异常(依赖注入异常UoUniqueBeanDefinitionException)
1 @Autowired
2 private DataSource dataSource; //DataSource是数据源接口(可以连接到连接池),dataSource是定义的一个bean对象,可以调用方法
二、@SpringBootTest
@SpringBootTest:加载ApplicationContext,启动spring容器,添加这个注释后悔自动检索程序的配置文件,检索顺序是从当前包开始,逐级向上查找被@SpringBootApplication或@SpringBootConfiguration注解的类
三、@Test
@Test:单元测试
四、@Scope
@Scope:用来配置spring bean的作用域,它标识bean的作用域
默认值是单例
1、@singleton:单例模式,全局有且仅有一个实例
2、@prototype:多例(原型)模式,每次获取Bean的时候会有一个新的实例
五、@Qualifier
@Qualifier:需要配置Autowired注释使用,不能单独使用,用于指定要注入的bean对象
六、@Lazy
@lazy:延迟对象的实例的创建,用的时候再去创建
七、@ReponseBody
@ReponseBody:描述Handler中的方法,用于告诉底层应该如何对方法的返回值进行处理,例如此注解描述的方法,其返回值肯定不是view,可能是json,也可能是map,还有可能是普通字符串等,同时告诉底层方法返回值的转换,结果最终要写到响应体,然后传输到客户端
八、@RestController
@RestController:描述Handler类型,用于定义此类是一个Controller请求处理对象,同时类中所有方法都默认添加@ResponseBody注解
九、@Data
@data注解的作用:不用额外的使用setter、getter方法,配置好以后就可反复使用。
十、Mapping
1、@Mapping
把mapper这个DAO交给spring管理,省去写mapper映射文件,给mapper自动添加@Mapper注解的接口生成一个实现类
2、@GetMapping("/path")
一般应用于查询数据的请求方法定义
3、@PostMapping("/path")
一般应用于添加数据的请求方法定义
4、@DeleteMapping("/path")
一般应用于删除数据的请求方法定义
5、@PutMapping("/path")
一般应用于更新数据的请求方法定义
十一、参数注释
1、@RequestParam
定义参数规则,例如参数是否可选,指定获取哪个参数的值
2、@DateTimeFormat
定义可以获取的日期的日期格式
3、@RequestBody
表示参数可以接收客户端post请求提交的json数据
4、@PathVariable
表示参数的值来自url中{}表达式中的数据
十二、springmvc注释
1、@Controller(controller层)
用于标记在一个类上,标识这个类是一个Springmvc Controller对象,通俗来说,这个类就是一个控制器,这个类中的方法,就是相应的动作
2、@RequestMapping
用来处理请求地址映射,可用于累活方法上,用于类上,表示类中的所有响应请求的方法都是以地址作为父路径
3、@Service(service层)
用于标注业务层套件,其实就是加入你有一个用注解的方式把这个类注入到spring配置中
4、@Repository(dao层)
用于标注数据访问组件,即DAO组件
5、@Component
标注一个类为Spring容器的Bean,(把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)
6、总结
@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,这个类中的方法,就是相应的动作。
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)
4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>)