在Spring4之后,要使用注解开发,必须保证aop的依赖包导入。这里我们在maven的pom.xml中导入spring-webmvc这个大的依赖整合包就可以了。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>6.0.11</version> </dependency>
使用注解需要导入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"> <!--指定要扫描的包,这个包下的注解就会生效--> <context:component-scan base-package="com.along.pojo"/> <context:annotation-config/> </beans>
在com.along.pojo这个包下的所有实体类上增加@Component这个注解,在People这个实体类中使用@Autowired注解自动装配属性中的类,@Value注解可以为属性赋值。
@Component public class Cat { public void shout(){ System.out.println("miao~"); } }
@Component public class Dog { public void shout(){ System.out.println("wang~"); } }
@Component public class People { @Autowired private Cat cat; @Autowired private Dog dog; @Value("阿龙") private String name;
}
衍生的注解
@Component有几个衍生注解,我们在web开发中,会按照mvc三层架构分层!
dao [@Repository]
service [@Service]
controller [ @Controller]
这四个注解功能都是一样的,都是代表将某个类注册到Spring中,装配Bean
作用域【@Scope】
小结
xml与注解:
。xml更加万能,适用于任何场合!维护简单方便
。注解不是自己类使用不了,维护相对复杂!
xml与注解最佳实践:
。xml用来管理bean;
。注解只负责完成属性的注入;
。我们在使用的过程中,只需要注意一个问题: 必须让注解生效,就需要开启注解的支持