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);
}
。。。。。。 其他略 。。。。。。
}
相关推荐
标题中的"spring+springMvc+MyBatis+注解"提到了四个关键点:Spring、SpringMVC、MyBatis以及注解。这四者构成了一个经典的Java Web开发框架组合,通常被称为SSM(Spring、SpringMVC、MyBatis)。下面将详细解释这些...
- **`@Repository`**:用于数据访问/持久化层的组件,同样也是`@Component`的别名。 - **`@Controller`**:标记类为Web层的控制器类,负责处理用户请求。 此外,还有用于支持JSR250标准的注解如`@Resource`,以及...
@Controller 是 SpringMVC 中最基本的注解之一,该注解用于标记一个类是 Controller,控制器 Controller 负责处理由 DispatcherServlet 分发的请求。使用@Controller 标记的类可以处理用户请求,并将请求数据经过...
9. **@Service** 和 **@Repository** - 这两个注解通常用于标记业务服务层和服务实现层的类。Spring会自动扫描这些类并进行管理。 10. **@ExceptionHandler** - 可以在控制器中定义异常处理逻辑,当特定类型的异常...
Spring的@Component、@Service、@Repository和@Controller等注解用于标记Bean,而@Autowired注解实现自动装配。MyBatis中的@Select、@Insert、@Update和@Delete等注解可以直接在Mapper接口的方法上使用,定义SQL语句...
在Spring框架中,`@Resource`和`@Component`是两个重要的注解,它们用于不同的目的,但都与依赖注入(Dependency Injection,简称DI)息息相关。理解这两个注解的使用和区别是掌握Spring框架核心概念的关键。 首先...
- `@Service`和`@Repository`:分别用于标记业务逻辑层和服务数据访问层的类。 2. **注解驱动开发** - `@Autowired`:自动装配Bean,根据类型或名称找到对应的Bean进行注入。 - `@Qualifier`:配合@Autowired,...
以上就是SpringMVC的基本配置,通过控制层、业务逻辑层和持久层的分离,我们可以构建出松耦合、可维护性强的Web应用。在实际项目中,还可以加入更多功能,如异常处理、安全控制、缓存管理等,以满足复杂的应用需求。
在本案例中,可能使用了`@Configuration`、`@Component`、`@Service`、`@Repository`和`@Controller`等注解来定义不同组件的角色,以及`@Autowired`来自动装配依赖。 SpringMVC是Spring框架的一个模块,专门用于...
在这个"springmvc注解简单实例"中,我们将深入探讨Spring MVC中的一些关键注解,以及它们在DAO层、Service层和Controller层中的应用。让我们逐一解析这些层面的注解使用。 首先,我们来到**DAO层**。在Spring MVC中...
### SpringMVC九大常用注解详解 #### 一、@Controller **定义**: `@Controller` 注解是用来标记一个类作为控制器(Controller)组件,在Spring MVC框架中扮演着请求处理者的角色。 **作用**: 通过这个注解,可以将...
9. **@Service** 和 **@Repository**:这两个注解常用于业务层和服务层组件,`@Service` 通常标记在业务逻辑层的服务类上,`@Repository` 用于数据访问层,如 DAO 类,它们都是 Spring 的组件注解,允许 Spring 进行...
`@Controller` 是一个核心注解,它定义了一个类作为 SpringMVC 的控制器。控制器负责接收来自 DispatcherServlet 的请求,并将处理结果转换为模型(Model)返回给视图(View)。为了使 Spring 能够识别和管理这些...
- **`@Service`**: 用于标记业务层的组件。 - **`@Controller`**: 用于标记Web层的控制器组件。 除了上述基本注解之外,还有许多其他高级注解,如`@Autowired`用于自动装配Bean、`@Qualifier`用于指定装配的具体...
@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。 1、共同点 两者都可以写在字段和setter方法上。两者...
"SpringMvc+Spring+Mybatis+Maven+注解方式"是一个经典的Java后端技术栈,它整合了四个关键组件,为开发人员提供了强大的工具和框架支持。下面将详细讲解这四个组件及其整合方式。 1. **Spring Framework**: ...
4. **使用注解**:通过Java注解(如@Service、@Repository、@Controller)简化配置,标注业务服务、DAO接口及其实现。 5. **整合Hibernate**:在实体类上使用@Entity,属性上使用@Column等注解,定义映射关系;在DAO...
在"springmvc-demo02-注解方式.zip"这个压缩包中,我们重点关注的是使用注解进行 Spring MVC 的配置。这种配置方式相比传统的 XML 配置更加简洁且直观,有助于提升开发效率。 1. **注解概述**: - 在 Spring MVC ...