spring框架注解整理()
知识点1:@Component等
名称 |
@Component/@Controller/@Service/@Repository |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类为spring管理的bean |
属性 |
value(默认):定义bean的id |
知识点2:@Configuration
名称 |
@Configuration |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类为spring配置类 |
属性 |
value(默认):定义bean的id |
知识点3:@ComponentScan
名称 |
@ComponentScan |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置spring配置类扫描路径,用于加载使用注解格式定义的bean |
属性 |
value(默认):扫描路径,此路径可以逐层向下扫描 |
知识点4:@Scope
名称 |
@Scope |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类创建对象的作用范围 可用于设置创建出的bean是否为单例对象 |
属性 |
value(默认):定义bean作用范围, ==默认值singleton(单例),可选值prototype(非单例)== |
知识点5:@PostConstruct
名称 |
@PostConstruct |
类型 |
方法注解 |
位置 |
方法上 |
作用 |
设置该方法为初始化方法 |
属性 |
无 |
知识点6:@PreDestroy
名称 |
@PreDestroy |
类型 |
方法注解 |
位置 |
方法上 |
作用 |
设置该方法为销毁方法 |
属性 |
无 |
知识点7:@Autowired
名称 |
@Autowired |
类型 |
属性注解 或 方法注解(了解) 或 方法形参注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 或 方法形参前面 |
作用 |
为引用类型属性设置值 |
属性 |
required:true/false,定义该属性是否允许为null |
知识点8:@Qualifier
名称 |
@Qualifier |
类型 |
属性注解 或 方法注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 |
作用 |
为引用类型属性指定注入的beanId |
属性 |
value(默认):设置注入的beanId |
知识点9:@Value
名称 |
@Value |
类型 |
属性注解 或 方法注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 |
作用 |
为 基本数据类型 或 字符串类型 属性设置值 |
属性 |
value(默认):要注入的属性值 |
知识点10:@PropertySource
名称 |
@PropertySource |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
加载properties文件中的属性值 |
属性 |
value(默认):设置加载的properties文件对应的文件名或文件名组成的数组 |
注意:
-
如果读取的properties配置文件有多个,可以使用@PropertySource的属性来指定多个
@PropertySource({“jdbc.properties”,”xxx.properties”})
@PropertySource
@PropertySource({"jdbc.properties","xxx.properties"})
-
@PropertySource注解属性中不支持使用通配符*,运行会报错
@PropertySource({“*.properties”})
*
@PropertySource({"*.properties"})
-
@PropertySource注解属性中可以把classpath:加上,代表从当前项目的根路径找文件
@PropertySource({“classpath:jdbc.properties”})
classpath:
@PropertySource({"classpath:jdbc.properties"})
知识点11:@Bean
名称 |
@Bean |
类型 |
方法注解 |
位置 |
方法定义上方 |
作用 |
设置该方法的返回值作为spring管理的bean |
属性 |
value(默认):定义bean的id |
知识点12:@Import
名称 |
@Import |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
导入配置类 |
属性 |
value(默认):定义导入的配置类类名, 当配置类有多个时使用数组格式一次性导入多个配置类 |
知识点13:@RunWith
名称 |
@RunWith |
类型 |
测试类注解 |
位置 |
测试类定义上方 |
作用 |
设置JUnit运行器 |
属性 |
value(默认):运行所使用的运行期 |
知识点14:@ContextConfiguration
名称 |
@ContextConfiguration |
类型 |
测试类注解 |
位置 |
测试类定义上方 |
作用 |
设置JUnit加载的Spring核心配置 |
属性 |
classes:核心配置类,可以使用数组的格式设定加载多个配置类 locations:配置文件,可以使用数组的格式设定加载多个配置文件名称 |
知识点15:@Controller
名称 |
@Controller |
类型 |
类注解 |
位置 |
SpringMVC控制器类定义上方 |
作用 |
设定SpringMVC的核心控制器bean |
知识点16:@RequestMapping
名称 |
@RequestMapping |
类型 |
类注解或方法注解 |
位置 |
SpringMVC控制器类或方法定义上方 |
作用 |
设置当前控制器方法请求访问路径 |
相关属性 |
value(默认),请求访问路径 |
知识点17:@ResponseBody
名称 |
@ResponseBody |
类型 |
类注解或方法注解 |
位置 |
SpringMVC控制器类或方法定义上方 |
作用 |
设置当前控制器方法响应内容为当前返回值,无需解析 |
知识点18:@ComponentScan
名称 |
@ComponentScan |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置spring配置类扫描路径,用于加载使用注解格式定义的bean |
相关属性 |
excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)和具体项(classes) includeFilters:加载指定的bean,需要指定类别(type)和具体项(classes) |
知识点19:@RequestParam
名称 |
@RequestParam |
类型 |
形参注解 |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
绑定请求参数与处理器方法形参间的关系 |
相关参数 |
required:是否为必传参数 defaultValue:参数默认值 |
知识点20:@EnableWebMvc
名称 |
@EnableWebMvc |
类型 |
==配置类注解== |
位置 |
SpringMVC配置类定义上方 |
作用 |
开启SpringMVC多项辅助功能,包含了将JSON转换成对象的功能 |
知识点21:@RequestBody
名称 |
@RequestBody |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次, 使用@RequestBody注解将外部传递的json数组数据映射到形参的集合对象中作为数据 |
@RequestBody与@RequestParam区别
-
区别
@RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
@RequestBody用于接收json数据【application/json】
-
@RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
-
@RequestBody用于接收json数据【application/json】
-
应用
后期开发中,发送json格式数据为主,@RequestBody应用较广
如果发送非json格式数据,选用@RequestParam接收请求参数
-
后期开发中,发送json格式数据为主,@RequestBody应用较广
-
如果发送非json格式数据,选用@RequestParam接收请求参数
知识点22:@DateTimeFormat
名称 |
@DateTimeFormat |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参前面 |
作用 |
设定日期时间型数据格式 |
相关属性 |
pattern:指定日期时间格式字符串 |
————————
知识点1:@Component等
名称 |
@Component/@Controller/@Service/@Repository |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类为spring管理的bean |
属性 |
value(默认):定义bean的id |
知识点2:@Configuration
名称 |
@Configuration |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类为spring配置类 |
属性 |
value(默认):定义bean的id |
知识点3:@ComponentScan
名称 |
@ComponentScan |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置spring配置类扫描路径,用于加载使用注解格式定义的bean |
属性 |
value(默认):扫描路径,此路径可以逐层向下扫描 |
知识点4:@Scope
名称 |
@Scope |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置该类创建对象的作用范围 可用于设置创建出的bean是否为单例对象 |
属性 |
value(默认):定义bean作用范围, ==默认值singleton(单例),可选值prototype(非单例)== |
知识点5:@PostConstruct
名称 |
@PostConstruct |
类型 |
方法注解 |
位置 |
方法上 |
作用 |
设置该方法为初始化方法 |
属性 |
无 |
知识点6:@PreDestroy
名称 |
@PreDestroy |
类型 |
方法注解 |
位置 |
方法上 |
作用 |
设置该方法为销毁方法 |
属性 |
无 |
知识点7:@Autowired
名称 |
@Autowired |
类型 |
属性注解 或 方法注解(了解) 或 方法形参注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 或 方法形参前面 |
作用 |
为引用类型属性设置值 |
属性 |
required:true/false,定义该属性是否允许为null |
知识点8:@Qualifier
名称 |
@Qualifier |
类型 |
属性注解 或 方法注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 |
作用 |
为引用类型属性指定注入的beanId |
属性 |
value(默认):设置注入的beanId |
知识点9:@Value
名称 |
@Value |
类型 |
属性注解 或 方法注解(了解) |
位置 |
属性定义上方 或 标准set方法上方 或 类set方法上方 |
作用 |
为 基本数据类型 或 字符串类型 属性设置值 |
属性 |
value(默认):要注入的属性值 |
知识点10:@PropertySource
名称 |
@PropertySource |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
加载properties文件中的属性值 |
属性 |
value(默认):设置加载的properties文件对应的文件名或文件名组成的数组 |
注意:
-
如果读取的properties配置文件有多个,可以使用@PropertySource的属性来指定多个
@PropertySource({“jdbc.properties”,”xxx.properties”})
@PropertySource
@PropertySource({"jdbc.properties","xxx.properties"})
-
@PropertySource注解属性中不支持使用通配符*,运行会报错
@PropertySource({“*.properties”})
*
@PropertySource({"*.properties"})
-
@PropertySource注解属性中可以把classpath:加上,代表从当前项目的根路径找文件
@PropertySource({“classpath:jdbc.properties”})
classpath:
@PropertySource({"classpath:jdbc.properties"})
知识点11:@Bean
名称 |
@Bean |
类型 |
方法注解 |
位置 |
方法定义上方 |
作用 |
设置该方法的返回值作为spring管理的bean |
属性 |
value(默认):定义bean的id |
知识点12:@Import
名称 |
@Import |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
导入配置类 |
属性 |
value(默认):定义导入的配置类类名, 当配置类有多个时使用数组格式一次性导入多个配置类 |
知识点13:@RunWith
名称 |
@RunWith |
类型 |
测试类注解 |
位置 |
测试类定义上方 |
作用 |
设置JUnit运行器 |
属性 |
value(默认):运行所使用的运行期 |
知识点14:@ContextConfiguration
名称 |
@ContextConfiguration |
类型 |
测试类注解 |
位置 |
测试类定义上方 |
作用 |
设置JUnit加载的Spring核心配置 |
属性 |
classes:核心配置类,可以使用数组的格式设定加载多个配置类 locations:配置文件,可以使用数组的格式设定加载多个配置文件名称 |
知识点15:@Controller
名称 |
@Controller |
类型 |
类注解 |
位置 |
SpringMVC控制器类定义上方 |
作用 |
设定SpringMVC的核心控制器bean |
知识点16:@RequestMapping
名称 |
@RequestMapping |
类型 |
类注解或方法注解 |
位置 |
SpringMVC控制器类或方法定义上方 |
作用 |
设置当前控制器方法请求访问路径 |
相关属性 |
value(默认),请求访问路径 |
知识点17:@ResponseBody
名称 |
@ResponseBody |
类型 |
类注解或方法注解 |
位置 |
SpringMVC控制器类或方法定义上方 |
作用 |
设置当前控制器方法响应内容为当前返回值,无需解析 |
知识点18:@ComponentScan
名称 |
@ComponentScan |
类型 |
类注解 |
位置 |
类定义上方 |
作用 |
设置spring配置类扫描路径,用于加载使用注解格式定义的bean |
相关属性 |
excludeFilters:排除扫描路径中加载的bean,需要指定类别(type)和具体项(classes) includeFilters:加载指定的bean,需要指定类别(type)和具体项(classes) |
知识点19:@RequestParam
名称 |
@RequestParam |
类型 |
形参注解 |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
绑定请求参数与处理器方法形参间的关系 |
相关参数 |
required:是否为必传参数 defaultValue:参数默认值 |
知识点20:@EnableWebMvc
名称 |
@EnableWebMvc |
类型 |
==配置类注解== |
位置 |
SpringMVC配置类定义上方 |
作用 |
开启SpringMVC多项辅助功能,包含了将JSON转换成对象的功能 |
知识点21:@RequestBody
名称 |
@RequestBody |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参定义前面 |
作用 |
将请求中请求体所包含的数据传递给请求参数,此注解一个处理器方法只能使用一次, 使用@RequestBody注解将外部传递的json数组数据映射到形参的集合对象中作为数据 |
@RequestBody与@RequestParam区别
-
区别
@RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
@RequestBody用于接收json数据【application/json】
-
@RequestParam用于接收url地址传参,表单传参【application/x-www-form-urlencoded】
-
@RequestBody用于接收json数据【application/json】
-
应用
后期开发中,发送json格式数据为主,@RequestBody应用较广
如果发送非json格式数据,选用@RequestParam接收请求参数
-
后期开发中,发送json格式数据为主,@RequestBody应用较广
-
如果发送非json格式数据,选用@RequestParam接收请求参数
知识点22:@DateTimeFormat
名称 |
@DateTimeFormat |
类型 |
==形参注解== |
位置 |
SpringMVC控制器方法形参前面 |
作用 |
设定日期时间型数据格式 |
相关属性 |
pattern:指定日期时间格式字符串 |