@Component : 用此注解描述spring中的bean,将该注解标注在类上
@Repository: 将dao层的类标识为spring 中的bean
例:
public class UserDao(){}
@Repository("userDao")
public class UserDaoImpl implements UserDao(){
}
@Repository("userDao")相当于配置文件中的 <bean id="userDao" class="包名+UserDaoImpl"/>
@Service : 将业务层(service) 标识为spring 中的bean
例:
public class UserService(){}
@Service("userService)
public class UserService implements UserService(){
}
@Service("userService) 相当于配置文件中的<bean id="userService" class="包名+UserServiceImpl" />
将控制器层标示spring中的bean
例:
@Controller("userAction")
public class UserAction(){}
相当于配置文件中的<bean id="userAction" class="包名+UserAction" /> sprinngmvc 中的 @Controller 指示Spring类的实例是一个控制器,然后在springmvc配置文件中@Controller("userAction")
<context:component-scan base-package="cn.xw.controller"/> 扫描cn.xw.controller包下的程序中所以基于注解的控制器类。
例。
@Controller
public class UserController(){}
@Autowired : 对bean中的属性变量,属性set及构造函数进行标注,例
@Autowired
private UserDao userDao
@Qualifier : 与@Autowirce 配合使用。
@Service("userService") public class UserService(){} @Contorller public class UserContorller(){ @Autowirce @Qualifier("userService") private UserService userService; }
如果 有多个@Service 配置的bean时, @Autowirce就不知道要找哪一个Service,所以用@Qualifier指定那一个service
@Resource:与Autowired一样,区别在于 @Autowired默认按照bean类型配置,@Resource 按照实例名称配置
例
@Resource("userDao")
private UserDao userDao
相当于 <property name="userDao" ref="userdao"/>
在 spring 配置文件添加
通知spring扫描指定目录进行解析
<context:component-scan base-package="cn.xw"/>