@Component
通用注解,不推荐使用,要用的话,任何类的头上都能使用,但是这个类到底是干嘛用得就不知道了。
@Controller
控制层使用,也就是MVC中的C,主要的时候使用的时候注意配合@Scope("prototype")使用
因为默认情况下spring使用的时候单例模式scope="singleton",每次访问都是同一个对象,数据线程不安全。
@ Service
服务层使用,使用时注意,最好取一个别名,类似下面这样
@Service("userService")
public class UserServiceImpl implements IUserService {
}
这样在使用单元测试的时候会很方便
@ Repository
数据访问层的注解,这个没有啥好说的,取个别名也没事,一般这个注解放在dao层就对了。