SpringMVC中四个基本注解:
@Component、@Repository@Service、@Controller
看字面含义,很容易却别出其中三个:
@Controller控制层,就是我们的action层
@Service业务逻辑层,就是我们的service或者manager层
@Repository持久层,就是我们常说的DAO层
而@Component(字面意思就是组件),它在你确定不了事哪一个层的时候使用。
其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中;
但是在项目中,却建议你严格按照除Componen的其余三个注解的含义使用在项目中。这对分层结构的web架构很有好处!!
示例:
1.控制层
@Controller//注释为controller
@RequestMapping("/login")
publicclassLoginAction{
@Autowired
@Qualifier("userService")//注释指定注入Bean
privateIUserServiceuserService;
。。。。。。其他略。。。。。。
}
2.业务逻辑层
@Service("userService")
publicclassUserServiceImplimplementsIUserService{
@Autowired
@Qualifier("userDao")
privateIUserDaouserDao;
。。。。。。其他略。。。。。。
}
3.持久层
@Repository("userDao")
publicclassUserDaoImplimplementsIUserDao{
privatestaticLoggerlogger=LoggerFactory.getLogger(UserDaoImpl.class);
privateDataSourcedataSource;
privateJdbcTemplatetemplate;
@Autowired
publicUserDaoImpl(DataSourcedataSource){
this.dataSource=dataSource;
template=newJdbcTemplate(this.dataSource);
}
。。。。。。其他略。。。。。。