1.概念
通过注解的形式将bean以及相应的属性值放入IOC容器
2.示例
(1)applicationContext.xml
<?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:p="http://www.springframework.org/schema/p"
default-autowire="byName"
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-4.3.xsd">
<!-- <bean id="studentDao" class="nuc.hzb.dao.impl.StudentDaoImpl"> -->
<!-- </bean> -->
<!-- 配置扫描器 -->
<context:component-scan base-package="nuc.hzb.dao.impl"></context:component-scan>
</beans>
(2)StudentDaoImpl.java
package nuc.hzb.dao.impl;
import org.springframework.stereotype.Component;
import nuc.hzb.dao.StudentDao;
/*
* <bean id="studentDao" class="nuc.hzb.dao.impl.StudentDaoImpl"></bean>
*/
@Component("StudentDao")
public class StudentDaoImpl implements StudentDao {
@Override
public void saveStudent() {
// TODO Auto-generated method stub
System.out.println("增加学生");
}
}
(3)Test.java
StudentDao studentDaoObject = (StudentDaoImpl)context.getBean("StudentDao");
studentDaoObject.saveStudent();
(4)配置扫描器
<context:component-scan base-package="包名"></context:component-scan>
Spring在启动的时候,会根据base-package在该包中扫描所有类,查找这些类是否有注解@Component(“studentDao”),如果有,则将该类加入spring IOC容器中
3.注解类型
@Component(“StudentDao”):范围最大
dao层注解:@Repository("")
service层注解:@Service("")
控制器层注解:@Controller("")