Spring中的那些注解
@Autowired
(按类型注入)
通过 @Autowired的使用来消除 set ,get方法。
@Autowired private Dao dao;
通过@Autowired属性的Setter方法给父类中的属性注入值。
@Autowired public void setDataSource(DataSource ds){ super.setDataSource(ds); }
当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用 @Autowired(required = false) ,这等于告诉 Spring:在找不到匹配 Bean 时,也不报错。
@Autowired(required = false)
@Resource
(按名称注入)
@Resource(name="dao") private Dao dao; @Repository("dao") Public class Dao{}
@Controller
@Controller("com.LogAction") //标识控制器bean id
@RequestMapping
value:请求的url
params :请求的参数中含有该值,在@RequestMapping 中 params 的参数组合使用是且的意思
headers:请求参数 Content-Type=application/json 表示客户端发送的文件内容类型,从而服务器按这种类型来解析;
Accept=application/xml 表示客户端只接收该类型内容从而服务器发送该类型数据
headers="Content-Type=application/json" 对应--> consumes="application/json"
headers="Accept=application/json" 对应--> produces="application/json"
consumes:表示服务器只能消费的数据类型;produces:标示服务器只负责生产的数据
@RequestMapping ( value="log/login", method="RequestMethod.POST", headers="Content-Type=application/json", consumes={"application/json"}, produces={"application/json"} )
@Component
跟@Service or @Reponsitory一样的意思,当组件描述不明确时可以统一用@Component
@RequestParam
绑定单个请求参数值
@PathVariable
绑定URI模板变量值
@CookieValue
绑定Cookie数据值
@RequestHeader
绑定请求头数据
@ModelValue
绑定参数到命令对象
@SessionAttributes
绑定命令对象到session
@RequestBody
绑定请求的内容区数据并能进行自动类型转换等
@RequestPart
绑定“multipart/data”数据,除了能绑定@RequestParam 能做到的请求参数外,还能绑定上传的文件等
@Transactional( rollbackFor={Exception.class})
事务管理
........