首页 > 其他 > 详细

注解使用

时间:2020-11-12 23:36:05      阅读:32      评论:0      收藏:0      [点我收藏+]

注解:
1)用于创建对象的注解@Commponet
相当于
下面三个注解都是针对@Commponet的衍生注解,他们的作用及属性都是一模一样的。
他们只不过是提供了更加明确的语义化。
a)@Controller:一般用于表现层的注解。
b)@Service:一般用于业务层的注解。
C)@Repository:一般用于持久层的注解。

2)用于注入数据的
相当于:

  a) @Autowired
    作用:
自动按照类型注入。当使用注解注入属性时,set方法可以省略。它只能注入其他bean类型。当有多个类型匹配时,使用要注入的对象变量名称作为bean的id,在spring容            
   器查找,找到了也可以注入成功。找不到就报错。

  b)Qualifer      
  作用:
在自动按照类型注入的基础之上,再按照Bean的id注入。它在给字段注入时不能独立使用,必须和@Autowired一起使用;但是给方法参数注入时,可以独立使用。
  属性:
value:指定bean的id。
  c)@Resource
  作用:
直接按照Bean的id注入。它也只能注入其他bean类型。
  属性:
name:指定bean的id。
  d)@Value
  作用:
注入基本数据类型和String类型数据的
  属性:
value:用于指定值

3)用于改变作用域范围的
a)@Scope
作用:
指定bean的作用范围。
属性:
value:指定范围的值。
取值:singleton prototype request session globalsession

4)和生命周期相关的
相当于:
a)@PostConstruct注解
@PostConstruct加在方法上,指定bean对象创建好之后,调用该方法初始化对象,类似于xml的init-method方法
@PostConstruct
public void init(){
System.out.println("调用了init方法");
}

  b)@PreDestory注解
  @PreDestory加在方法上,指定bean销毁之前,调用该方法,类似于xml的destory-method方法
  @PreDestroy
public void destory(){
	System.out.println("调用了destory方法");
}
  注意:要看到@PreDestory的效果,需要调用ClassPathXmlApplicationContext.close方法,同时scope的值要是singleton

Final:XML和注解的比较
注解的优势:
配置简单,维护方便。(我们找到了类,就相当于找到了配置)
XML的优势:
修改时,不用改源码。不涉及重新编译和部署。

注解使用

原文:https://www.cnblogs.com/shy-duke/p/13966509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!