博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring用到了那些注解?
阅读量:6297 次
发布时间:2019-06-22

本文共 2766 字,大约阅读时间需要 9 分钟。

一:@Autowired(按类型注入)

1.1通过 @Autowired的使用来消除 set ,get方法。
@Autowired
private Dao dao;
这样就可以删除set ,get方法和spring中的相关配制了。
1.2通过@Autowired属的Setter方法给父类中的属性注入值。

@Autowired

public void setDataSource(DataSource ds){
super.setDataSource(ds);
}

1.3当不能确定 Spring 容器中一定拥有某个类的 Bean 时,可以在需要自动注入该类 Bean 的地方可以使用 @Autowired(required = false) ,这等于告诉 Spring:在找不到匹配 Bean 时    也不报错。@Autowired(required = false)

二:@Resource(按名称注入)

1.1 

@Resource(name="dao")
private Dao dao;
@Repository("dao")
Public class Dao{}
三:@Controller    
1.1 EG: @Controller("com.LogAction") //标识控制器bean id
四:@RequestMapping
1.1EG: @RequestMapping("log/login.htm",
                        method="RequestMethod.POST",
headers="Content-Type=application/json",
consumes={"application/json"},
produces={"application/json"}) 
参数有(value={"",""},method={"RequestMethod.GET",""},params={"submitFlag=create",""}...)

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:标示服务器只负责生产的数据
五:@Component = @Service or @Reponsitory
1.1 当组件描述不明确时可以统一用@Component
六:参数绑定注解

1、@RequestParam绑定单个请求参数值;

2、@PathVariable绑定URI模板变量值;

3、@CookieValue绑定Cookie数据值

4、@RequestHeader 绑定请求头数据;

5、@ModelValue绑定参数到命令对象;

6、@SessionAttributes绑定命令对象到session;

7、@RequestBody绑定请求的内容区数据并能进行自动类型转换等。

8、@RequestPart 绑定“multipart/data”数据,除了能绑定@RequestParam 能做到的请求参数外,还能绑定上传的文件等

 

@RequestParam (value="",required=false[默认true],defaultValue="zhang")

绑定单个参数  public void method(@RequestParam(value="username") String name){}  --> ...htm?username=zzd
绑定多个参数  public void method(@RequestParam(value="role")  String[] roles){}  或者  
     public void method(@RequestParam(value="role" )  Listroles) {} -->...htm?role=admin&role=test

 

@RequestMapping(value="/users/{userId}/topics/{topicId}") 

EG:public String test( @PathVariable(value="userId")  int  userId, @PathVariable(value="topicId")  int topicId)

将url 中的{userId}、{topicId} 绑定到@PathVariable 标注的变量中

@CookieValue

public String test(@CookieValue(value="JSESSIONID", defaultValue="") String sessionId) 

 

@RequestHeader

public String test( @RequestHeader("User-Agent") String userAgent,     @RequestHeader(value="Accept") String[] accepts)

 

六:

三:备注

扫描指定的包中的类上的注解,常用的注解有:

@Controller 声明Action组件

@Service    声明Service组件    @Service("myMovieLister") 
@Repository 声明Dao组件
@Component   泛指组件, 当不好归类时. 
@RequestMapping("/menu")  请求映射
@Resource  用于注入,( j2ee提供的 ) 默认按名称装配,@Resource(name="beanName") 
@Autowired 用于注入,(srping提供的) 默认按类型装配 
@Transactional( rollbackFor={Exception.class}) 事务管理
@ResponseBody
@Scope("prototype")   设定bean的作用域

转载于:https://www.cnblogs.com/wym789/p/6403603.html

你可能感兴趣的文章
OSChina 周三乱弹 —— 你是靠自己努力才失败的
查看>>
OSChina 周二乱弹 —— 这简直是对佛祖的DDoS攻击啊
查看>>
OSChina 周三乱弹 —— 孤独到都和病毒发生了感情了
查看>>
css中.和#的区别 不写时代表什么
查看>>
elementui tree组件层级过多时可左右滚动
查看>>
elementui select组件选中后无法自动刷新更新值渲染到页面中
查看>>
IO之文件读写
查看>>
MongoDB副本集
查看>>
qt实现-给SQLITE添加自定义函数
查看>>
[Spring MVC起步]我的第一个MVC
查看>>
C语言中使用MySQL(Linux下)
查看>>
ServiceHot告诉你美国的程序员们各编程语言薪资情况
查看>>
js数组中forEach/some/every/map/filter/reduce的区别
查看>>
HBase–常用API操作篇
查看>>
USACO 1.0_Friday the Thirteenth
查看>>
内存是新的硬盘,硬盘是新的磁带
查看>>
安装gitblit
查看>>
Android Java虚拟机拦截技术分析
查看>>
第五章 深入理解Magento – Magento资源配置
查看>>
最近喜欢用markdown写笔记,贴个语法说明
查看>>