@Service用于标注业务层组件
@Controller用于标注控制层组件(如struts中的action)
@Repository用于标注数据访问组件,即DAO组件
基本上上述三个是最常用的注解,
@Service("userService")注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,bean的名字必须叫做"userService",这样当Action需要使用UserServiceImpl的的实例时,就可以由Spring创建好的"userService",然后注入给Action。
@Service("documentmakerService")
public class DocumentmakerService implements DocumentmakerManager {
@Resource(name = "daoSupport")
private DaoSupport dao;
/**
* 制单人列表
*/
@SuppressWarnings("unchecked")
@Override
public List<PageData> markerList(Page page) {
List<PageData> resultList = null;
try {
resultList = (List<PageData>) dao.findForList("DocumentMarkerMapper.listPage", page);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return resultList;
}
}
Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法。通俗来说,被Controller标记的类就是一个控制器,其中还可以加value,这个类中的方法,就是相应的动作。
@Controller
@RequestMapping(value = "/source")
public class AssetSourceController extends BaseController {}
@ResponseBody注解(应用于controller)。这个注解是什么呢,就是当你引入了Jackson这个jar包的时候,再使用这个注解,SpringMVC就可以自动将它所修饰的方法的返回值转换为json格式,从而不需要人为的去转换!
@ResponseBody
@RequestMapping(value="insertUse")
public AjaxResponse GetScrapList(@RequestParam("ids") String[] ids)throws Exception{
AjaxResponse ajaxResponse =new AjaxResponse().instance();
ajaxResponse.setSuccess(true);
List<PageData> reusltList=recipientsService.findListById(ids);
recipientsService.updateIsUse(ids);
ajaxResponse.setData(reusltList);
return ajaxResponse;
}