spring几种注解的应用
(一)
@ControllerAdvice(assignableTypes=PayController.class)//相当于spring的后置处理器执行通知,aop的环绕通知
@ControllerAdvice(assignableTypes=PayController.class)
public class PayExceptionHandler {
@ExceptionHandler(Exception.class)
@ResponseBody
public String PaException(HttpServletRequest request, Exception ex){
return "rspCode=000001&rspMsg="+ex.getMessage();
}
}
@controllerAdvice注解的CommonExceptionHandler 类中,handleStaffNotFound()方法上加了@ExceptionHandler(StaffNotFoundException.class)注解,表示处理当控制器抛出StaffNotFoundException异常时,将会委托该方法来处理。
@controllerAdvice最为实用的一个场景就是将所有@ExceptionHandler方法收集到一个类中,这样所有的异常都能在一个地方进行一致处理。
@ControllerAdvice默认所有控制的抛出的异常都会在这个类进行处理
@ControllerAdvice(annotations = {PCInfoController .class}) 配置你需要拦截的控制器,
@ControllerAdvice(basePackages = "com.demo") 配置你需要路径下的控制器
(二)
1. Controller, RestController的共同点
都是用来表示spring某个类的是否可以接收HTTP请求
2. Controller, RestController的不同点
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController: a convenience annotation that does nothing more than adding the@Controller and @ResponseBody annotations。
@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
mvc的mapping方法默认是@responsebody
示例如下:
[html] view plain copy
@Controller
@ResponseBody
public class MyController { }
@RestController
public class MyRestController { }
相关推荐
通过分析这个示例,我们可以更好地理解Spring自动检测注解的实际应用。 总结来说,Spring的自动检测注解`@Autowired`是DI的核心特性,通过它,我们可以方便地管理bean之间的依赖关系,提高代码的可测试性和可维护性...
本文将详细介绍几个关键的注解,包括 @Autowired、@Qualifier、@Resource 和 @PostConstruct,以及它们在实际开发中的应用。 ## 1. @Autowired 注解 @Autowired 是 Spring 提供的一种自动装配机制,它可以根据类型...
Spring AOP的注解版主要包括以下几个核心注解: 1. `@Aspect`:标记一个类为切面类,这个类将包含切点和通知。 2. `@Before`:前置通知,表示在目标方法执行之前运行的代码。 3. `@After`:后置通知,表示在目标...
在Spring中,主要通过以下几种注解来实现IOC: 1. `@Component`:这是最基础的注解,用于标记一个类为Spring的Bean。将这个注解添加到类上,Spring就会自动扫描并管理这个类的实例。例如: ```java @Component ...
#### 五、注解应用实例 下面通过几个具体的注解来展示它们的实际应用: - **@Controller** ```java @Controller public class SoftCreateController extends SimpleBaseController {} ``` 或者 ```java @...
在本节中,我们主要介绍几个Spring中常用的注解,它们分别是@Component、@Controller、@Service和@Repository,这些注解用于将Java类声明为Spring管理的Bean。 #### 2. @Component注解 @Component是一个通用的构...
Spring 使用注解配置主要是为了简化 Bean 的定义,包括但不限于以下几种: 1. `@Component`, `@Service`, `@Repository`, `@Controller` 这些注解用于标记组件类,它们分别对应不同的服务层角色,Spring 会自动扫描...
Spring JdbcTemplate的注解支持主要包含以下几个关键注解: - `@Query`: 用于定义SQL查询。可以包含静态或动态SQL,支持命名参数。 - `@Update`: 用于定义SQL更新语句。 - `@Insert`: 用于定义SQL插入语句。 - `@...
除了`@Before`,Spring还提供了其他几种通知类型: 1. `@After` - 后置通知,无论方法是否抛出异常都会执行。 2. `@AfterReturning` - 返回后通知,只在方法正常返回时执行。 3. `@AfterThrowing` - 异常后通知,当...
Spring AOP通过以下几种方式实现切片: 1. **定义切面(Aspect)**:在Spring中,切面通常由一个带有`@Aspect`注解的类表示。这个类可以包含通知方法,这些方法会在指定的连接点执行。 2. **定义通知(Advice)**...
Spring Boot 中的几种注入方法 在 Spring Boot 中,注入是一种非常重要的...在 Spring Boot 中,以上几种注入方法都是非常重要的,它们可以帮助我们在编写 Spring Boot 应用程序时,使代码更加简洁、灵活和可维护。
在Spring框架中,依赖注入(Dependency Injection,简称DI)...理解并熟练掌握这些方式,对于提升Spring应用的开发效率和质量至关重要。在实际项目中,可以根据具体需求选择合适的方式,或者结合使用,以实现最佳效果。
下面介绍几种常用的依赖注入相关的注解: - **@Component**:用于标记一个普通的Java类为Spring管理的Bean。 - **@Service**:通常用于标记业务层的组件。 - **@Repository**:用于标记数据访问层(DAO层)的组件。...
在Spring中,我们可以通过以下几种注解来实现AOP: 1. `@Aspect`:这个注解用于标记一个类为切面。切面类通常包含通知和切点定义。 2. `@Before`:此注解用于定义前置通知,即在目标方法执行前执行的代码。例如,...
总的来说,Spring MVC 注解实例展示了如何通过注解方式简化 Web 应用的配置和开发。这种方式减少了 XML 配置,提高了代码的可读性和可维护性。通过 `web.xml` 和 `spring-servlet.xml` 文件的配置,以及 Controller ...
在Spring3中,注解的使用主要包括以下几个方面: 1. **组件扫描(Component Scanning)**:通过`@Component`、`@Service`、`@Repository`和`@Controller`等注解,Spring能够自动发现和管理bean。例如,`@Component`...
通过学习这个示例,开发者可以了解Spring和Xfire的整合,以及注解在服务开发中的应用,这对于理解服务化架构和提高开发效率大有裨益。同时,这也是一种实践Java EE标准和现代企业级开发技术的有效方式。
在Spring AOP中,我们主要会用到以下几个注解: 1. `@Aspect`:这个注解用于标记一个类作为切面。切面类通常包含一系列的通知方法(advice),这些方法会在特定的连接点(join point)执行。 2. `@Before`:这个...
以下将详细阐述Spring对DAO支持的几种配置方式: 1. **JDBC DAO支持:** Spring通过`JdbcTemplate`和`SimpleJdbcInsert`等类提供了对JDBC的抽象,减少了直接使用JDBC代码的繁琐性。`JdbcTemplate`提供了一组模板...
在Spring中,AOP的注解主要有以下几个: 1. `@Aspect`:这个注解用于标记一个类作为切面。切面是AOP的核心概念,包含了多个通知(advisors),可以理解为横切关注点的具体实现。 2. `@Before`:这个注解用于定义...