註解掃描
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方法纔有效