常见注解
用于创建对象
@Component组件
相当于:<bean id="" class="">
作用:修饰一个类,并将这个类交给Spring管理。
属性:
value:用于指定 bean 的 id。如不指定,默认 bean 的 id 是当前类的类名。
三个衍生注解:
@Controller:一般用于表现层
@Service:一般用于业务层
@Repository:一般用于持久层
用于注入数据的
相当于:<property name="" ref="" />
或者<property name="" value="" />
注入普通属性:
@Value:注入基本数据类型和String类型数据。
注入对象类型属性:
@Autowired:注入对象类型的数据,其自动按照类型完成属性注入。
@Resource:按照名称完成对象类型属性的注入。这在开发中经常使用到的。
用于改变作用范围
@Scope相当于:<bean id="" class="" scope="">
作用:指定 bean 的作用范围。
属性value取值:singleton、 prototype、 request、 session、 globalsession。(默认为singleton)
和生命周期相关
@PostConstruct:用于指定初始化方法。相当于init-method。
@PreDestroy:用于指定销毁方法。相当于destroy-method。
IOC的XML和注解开发比较
XML和注解的比较
使用场景:
XML:可以适用于任何场景
注解:有些地方不能使用,例如:这个类不是自己提供的
优势比较
XML:修改时,不用改源码。不涉及重新编译和部署。
注解:配置简单,维护方便