SpringMVC的四个基本注解annotation(控制层,业务层,持久层) -- @Component、@Repository @Service、@Controller
2013-11-07 11:12
435 查看
@Controller 控制层,就是我们的action层
@Service 业务逻辑层,就是我们的service或者manager层
@Repository 持久层,就是我们常说的DAO层
而@Component (字面意思就是组件),它在你确定不了事哪一个层的时候使用。
其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中;
但是在项目中,却建议你严格按照除[b]Componen的其余三个注解的含义使用在项目中。这对分层结构的web架构很有好处!![/b]
示例:
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);
}
}
@Service 业务逻辑层,就是我们的service或者manager层
@Repository 持久层,就是我们常说的DAO层
而@Component (字面意思就是组件),它在你确定不了事哪一个层的时候使用。
其实,这四个注解的效果都是一样的,Spring都会把它们当做需要注入的Bean加载在上下文中;
但是在项目中,却建议你严格按照除[b]Componen的其余三个注解的含义使用在项目中。这对分层结构的web架构很有好处!![/b]
示例:
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);
}
}
相关文章推荐
- 基于Java 注解(Annotation)的基本概念详解
- struts2注解配置注意事项
- java 简单的注解示例
- JAVA注解
- Spring注解
- 基于注解的 Spring MVC 简单入门-网摘
- Apache Shiro 使用 RequiresPermissions with Spring...
- 常用基于注解备忘笔记
- 注解验证参数的合法性
- Java反射及依赖注入简单模拟
- java @override 报错处理
- Java Annotation
- JPA实体注解与hibernate主键生成策略
- spring添加注解事务
- Annotation注解的介绍和使用 自定义注解
- SpringMVC的注解
- 黑马程序员——内省和注解
- 黑马程序员 java5的新特性
- JAVA注解
- Spring @Around通知与@AfterThrowing共用问题