自动装配就是让Spring自动满足bean依赖的一种方法
@Autowired是spring特有的注解
@Autowired按byType自动注入,而@resource默认byName自动注入
@resource有两个重要的属性:name 和 type
若没有这两个属性,则使用默认的byName进行自动注入
由于该注解是由JSR250引入的,故而在使用它之前需要导入jsr250相关jar包的支持
注意: 它只是提供自动装配,并不提供注入。而注入是前提。
注册这些BeanPostProcessor的方式:
1.1一个注解一个注解地在Spring容器中注入
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
1.2<context:annotation-config/>所有注解一下全部注入
2.0<context:component-scan base-package=""/>
配置扫描包路径选项,包含了自动注入的功能,因此当使用<context:component-scan/>
可以省去:
<beans>
<bean id="testA" class="..../TestA" />
<bean id="testUtil" class="..../TestUtil" />
</beans>
在配置文件中使用 context 命名空间之前,必须在 <beans> 元素中声明 context 命名空间:
< beans xmlns:context="http://www.springframework.org/schema/context">
<context:annotation-config/>
</beans>
@requestParam
URL : localhost:8080/request/?userName=zhangsan 表单提交
@RequestParam(value="userName") String [] userNames
@PathVariable
@RequestMapping(value="/users/{userId}/topics/{topicId}") RESTFUL 风格
@PathVariable(value="userId") int userId
@ResponseBody
作用: 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区
***********************************************************************
@resource在使用之前需要导入jsr250相关jar包的支持
有了<context:component-scan base-package=""/>就不用加:
1.<context:annotation-config/>
2.<bean id="" class="" /> 配置文件
在配置文件中使用 context 命名空间之前,必须在 <beans> 元素中声明 context 命名空间:
< beans xmlns:context="http://www.springframework.org/schema/context">
<context:annotation-config/>
</beans>