1、bean
按照mvc分层 每层有不同的注解,但功能都是在Spring中注册。
-
pojo层 【@Component】
-
mapper层【@Repository】
-
service层【@Service】
-
controller层【@Controller】
这4个注解都是代表这个类被Spring管理了,在Spring中装配,就是bean!(不用再去xml注册了)
2、属性何注入
2.1、一般属性注入
-
@value(“xxx”)
public class User { @Value("李四") private String username; }
2.2、class属性注入
-
@Resource:自动装配(需要指定注入方式)
名称注入
public class User { @Resource(name = "student1") private Student student; }
类型注入
public class User { @Resource(type = Student.class) private Student student; }
-
@Autowired :自动装配通过类型名字(先类型,后名字)
如果Autowired不能唯一自动装配上属性,则需要通过@Qualifier(value=“xxx”)来指定
public class User { @Autowired @Qualifier("student1") private Student student; }
3、作用域
@Scope(“作用域”)
作用域可以是:
- 单例 singleton 【一般都用单例模式,Spring默认也是单例】
- 多例 prototype
- request、session、global session【这3个只适用于Web应用程序】
4、小结
- xml更加万能,使用于任意场景,维护方便
- 注解 只能自己的类使用,维护复杂
使用注解一定需要注意的问题:必须开启注解支持
<!--扫描包,注解才会生效-->
<context:component-scan base-package="com.bai"/>
<!--激活注解-->
<context:annotation-config/>