注解扫描
spring除了支持xml配置,还支持注解配置。首先在spring 4.x中需要引入aop的jar包,另外在applicationContext.xml添加一个配置:
<!-- 代表的是可以使用 spring 的注解,但是我们在类上添加的注解, spring不知道位置 -->
<!--<context:annotation-config />-->
<!-- 指定Spring扫描注解的位置 -->
<context:component-scan base-package="cn.ade"/>
bean的注册
@Controller:表示表现层的一个bean
@Service:表示业务层的一个bean
@Repository:表示持久层的一个bean
@Component:如果不知道bean使用的明确位置,就可以使用它来表示这是一个bean
属性的注入
- 普通属性
@Value("张三") private String name;
- 复杂属性
// @Autowired // 默认是根据类型进行注入 // @Qualifier("userDao") // 和@Autowired一起使用时,可以根据名称进行注入 @Resource(name = "userDao") // 相当于上面两个注解的合体 private UserDao userDao;
@Value @Autowired 它们可以修饰属性,也可以修饰 setter 方法,如果写在属性上,就不需要提供 setter 方法
其他注解
@Scope:描述bean的作用域
@PostConstruct:描述bean的初始化方法
@PreDestroy :描述bean的销毁方法,自定义destroy方法只对singleton方法才有效