1、在 Spring4 之后使用注解开发,必须导入 aop 依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
2、使用注解需要导入 context 约束,增加对注解的支持
<!--指定要扫描的包,这个包下的注解就会生效-->
<context:component-scan base-package="com.wc.pojo"></context:component-scan>
一、自动装配的注解
1、@AutoWired :是先通过 byType 实现,再 byName 实现
2、@Resource :默认通过 byName 的方式实现,找不到再通过 byType
3、@Nullable:字段标记了这个注解,说明这个字段可以为 null
二、衍生的注解
@Component:组件,放在类上,说明这个类被 Spring 管理了,也就是 bean
@Component
public class User {
public String name = "小蠢";
}
@Component 的衍生注解:表示将某个类注册到容器中,装配 bean
1)dao 层: @Repository
2)service 层:@Service
3)controller 层:@Controller
1、@Value:属性注解的注入
// 相当于 <property name="name" value="小蠢"></property>
@Value("小蠢")
public String name;
// 相当于 <property name="name" value="小蠢"></property>
@Value("小蠢")
public void setName(String name) {
this.name = name;
}
2、作用域:@Scope(“singleton”)
三、xml 与 注解
1、xml :适用于任何场合,维护简单方便
2、注解:不是自己的类使用不了,维护相对复杂
3、两者较好的实践
xml: 负责管理 bean
注解:负责完成属性的注入