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})

事务管理

........

 

posted @ 2022-05-10 08:49  changlinlo  阅读(24)  评论(0编辑  收藏  举报