Spring-08-使用注解开发
在编写类的时候,将bean一起通过注解的方式配置了
在Spring4之后,要使用注解开发,必须保证aop的包导入
在使用注解需要导入context约束,增加注解的支持
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!--指定要扫描的包,该包下的注解就会生效,Spring特定的-->
<context:component-scan base-package="com.cmy.pojo"/>
<!--开启注解的支持-->
<context:annotation-config/>
</beans>
@Component
组件,放在类上,说明该类被Spring管理了,就是bean
//@Component 等价于 <bean id="user" class="com.cmy.pojo.User"/>
@Component
public class User {
private String name = "void";
}
衍生注解
@Component 有几个衍生注解,在web开发中,会按照MVC三层架构分层
- dao ------>@Repository
- service------>@Service
- controller------>@Controller
事实上,这几个是等价的,都是代表将某个类注册到Spring容器中,自动装配Bean
属性注入
@Component
public class User {
//相当于<properties name = "name value="cmy"/>
@Value("cmy")
private String name;
}
一些复杂的注入,使用配置文件更好
自动装配注解
见前面的文章
作用域
@Scope("singleton") //prototype
总结
xml和注解
- xml更加万能,适用于任何场合,维护简单方便
- 注解 不是自己的类使用不了,维护比较复杂
最佳实现
- xml用来管理bean
- 注解只负责完成属性的注入
- 一切的前提在于,让注解生效,该有的配置和支持都要有