1、@Controller(控制层) :就是action层
2、@Service(业务逻辑) :业务逻辑层,负责处理各种控制层的操作
3、@Repository(持久层) :称为“持久化”层,负责对数据库的访问,各种CRUD操作!
@Component:只需要在对应的类上加上一个@Component注解,就将该类定义为一个Bean了
说明:四个注解效果一样,spring会自动当当作需要注入的Bean加载上下文中。
案例:
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);
}