读书人

SpringMVC的四个根本注解annotation(

发布时间: 2013-08-13 16:43:28 作者: rapoo

SpringMVC的四个基本注解annotation(控制层,业务层,持久层) -- @Component、@Repository @Service、@Cont

SpringMVC中四个基本注解:


@Component、@Repository???@Service、@Controller

?

看字面含义,很容易却别出其中三个:

@Controller???控制层,就是我们的action层

@Service????????业务逻辑层,就是我们的service或者manager层

@Repository??持久层,就是我们常说的DAO层

?

而@Component??(字面意思就是组件),它在你确定不了事哪一个层的时候使用。

?

其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中;

但是在项目中,却建议你严格按照除Componen的其余三个注解的含义使用在项目中。这对分层结构的web架构很有好处!!

?

示例:

1.??控制层

@Controller?//?注释为controller
@RequestMapping("/login")
public?class?LoginAction?{
?
?@Autowired??
?@Qualifier("userService")?//注释指定注入?Bean?
?private?IUserService?userService;

?

?。。。。。。?其他略?。。。。。。

}

?

2.??业务逻辑层

@Service("userService")
public?class?UserServiceImpl?implements?IUserService?{

????@Autowired
????@Qualifier("userDao")
????private?IUserDao?userDao;??

?

?

?。。。。。。?其他略?。。。。。。

}

?

3.??持久层

@Repository("userDao")
public?class?UserDaoImpl?implements?IUserDao?{
?private?static?Logger?logger?=?LoggerFactory.getLogger(UserDaoImpl.class);
?private?DataSource?dataSource;??
????private?JdbcTemplate?template;??
??????
????@Autowired??
????public?UserDaoImpl(DataSource?dataSource){??
????????this.dataSource=?dataSource;??
????????template?=?new?JdbcTemplate(this.dataSource);??
????}

?

?。。。。。。?其他略?。。。。。。

}

?

读书人网 >操作系统

热点推荐