Spring中使用注解开发
- 在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
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<!-- 开启注解支持-->
<context:annotation-config/>
</beans>
注解的注入
@Component
@Scope("singleton")
public class User {
@Value("mingiao")
public String name;
}
- @Component:组件 等价于
<bean id="user" class="com.kuang.pojo.User">
- @value(“xxx”):属性值,等价于
<property name="name" value="xxx"/>
-
@Scope(“xxx”):作用域
singleton:单例模式,从容器中get的是同一个对象
prototype:原生模式,从容器中get的时候都会产生一个新对象
衍生的注解
@Component有几个衍生的注解,在web开发中,会按照mvc三层架构分层
- @Repository【dao层】
- @Servive【service层】
- @Controller【controller层】
以上注解的功能都是一样的,代表将某一个类注册到Spring中,装配Bean。
然后通过指定要扫描的包,这个包下的注解就会生效
<context:component-scan base-package="com.ming"/>
xml与注解
1.区别:
- xml更加万能,适用于任何场合,维护简单方便
- 注解不是自己的类使用不了,维护相对复杂
2.最佳实践
- xml用来管理bean
- 注解只负责完成属性的注入
- 在使用过程中,要注意:要让注解生效,就必须开启注解的支持
<!-- 指定要扫描的包,这个包下的注解就会生效-->
<context:component-scan base-package="com.ming"/>
<!-- 开启注解支持-->
<context:annotation-config/>
,装配Bean。
然后通过指定要扫描的包,这个包下的注解就会生效
<context:component-scan base-package="com.ming"/>