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);
  }
时间: 2024-08-04 00:56:13

SpringMVC中四个基本注解的相关文章

161018、springMVC中普通类获取注解service方法

1.新建一个类SpringBeanFactoryUtils 实现 ApplicationContextAware package com.loiot.baqi.utils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware;

Spring的四个基本注解annotation(控制层,业务层,持久层) @Component、@

SpringMVC中四个基本注解: @Component.@Repository   @Service.@Controller 看字面含义,很容易却别出其中三个: @Controller    控制层,就是我们的action层 @Service        业务逻辑层,就是我们的service或者manager层 @Repository  持久层,就是我们常说的DAO层 而@Component  (字面意思就是组件),它在你确定不了事哪一个层的时候使用. 其实,这四个注解的效果都是一样的,Sp

SpringMVC中@Controller和@RequestMapping用法和其他常用注解

一.简介 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注

SpringMVC中的常用注解

RequestParam 作用: 用于  将请求参数区数据  映射到  功能处理方法的参数上. 属性: value  请求参数中的名称 required   请求参数中是否必须提供此参数. 默认值: true   表示必须提供, 如果不提供将报错 使用示例: jsp代码: <!-- requestParams 注解的使用 --> <a href="springmvc/useRequestParam?name=test">requestParam 注解</a

在SpringMVC中使用@RequestBody和@ResponseBody注解处理json时,报出HTTP Status 415的解决方案

我在使用SpringMVC的@RequestBody和@ResponseBody注解处理JSON数据的时候,总是出现415的错误,说是不支持所提交数据格式,我在页面中使用了JQuery的AJAX来发出JSON数据给服务器: $.ajax({ type:'post', url:'${pageContext.request.contextPath }/requestJSON.action', contentType :'application/json;charset=utf-8', //数据是JS

SpringMVC中使用@ResponseBody注解返回值,Ajax取得中文乱码解决方法

Spring使用AnnotationMethodHandlerAdapter的handleResponseBody方法, AnnotationMethodHandlerAdapter使用request header中"Accept"的值和messageConverter支持的MediaType进行匹配,然后会用"Accept"的第一个值写入 response的"Content-Type".一般的请求都是通过浏览器进行的,request heade

【SpringMVC学习03】SpringMVC中注解和非注解方式下的映射器和适配器总结

从上一篇的springmvc入门中已经看到,springmvc.xml中的配置了映射器和适配器,是使用非注解的方式来配置的,这是非注解方式的一种,这里再复习一下: 1. 非注解方式 1.1 处理器适配器 上一节中使用的处理器适配器是:org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.即: SimpleControllerHandlerAdapter适配器能执行实现了Controller接口的Handler,所以我

springMVC中使用注解@ResponseBody,@RequestBody传递json数据

在SpringMVC中,可以使用@RequestBody和@ResponseBody两个注解,分别完成请求报文到对象和对象到响应报文的转换. [email protected] 该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区. 即可以将返回的对象(带有数据的javabean的集合List或Map)转换成JSON. [email protected] 该注解用于读取Request请求的

springMVC中@RequestParam注解的用法

springMVC中@RequestParam注解用在Controller层获解析.提取参数,当然你也可以用request.getParameter("name")来获取参数,而@RequestParam注解接收参数有几种不同的写法. 1.test(String name) 像正常的方法接收参数,不带@RequestParam注解.这种写法,如果没有name参数不会报错. 2.test(@RequestParam String name) 带@RequestParam注解.这种写法,n