Advertisement

Spring注解详解 - 52个注解总结 - 笔记原文

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:HTML


简介:
本笔记详细解析了Spring框架中的52个核心注解,涵盖依赖注入、组件扫描及事务管理等方面,适合初学者快速掌握。 在火狐浏览器中显示可能会有问题,大家都是程序员,调整一下参数就可以解决了。 这段文字包含一些常用的Java注解:拦截器、过滤器、序列化以及@After、@AfterReturning、@AfterThrowing、@annotation、@Around、@Aspect、@Autowired、@Bean、@Before、@Component、@ComponentScan、@ConfigurationProperties等。这些注解有助于简化开发过程,提高代码的可维护性和复用性。 具体包括: @Controller, @CrossOrigin, @EnableWebMvc, @GetMapping, @Import, @JsonDeserialize, @JsonIgnore, @JsonIgnoreProperties, @JsonIgnoreType, @JsonInclude,@JsonPropertyOrder ,@JsonProperty ,@JsonSerialize ,@JsonSetter ,以及用于依赖注入的注解如@Autowired、@Resource和@Component,还有定义控制器类的方法级别的注解@GetMapping和@PostMapping。此外还涉及一些元数据相关的注解如@Configuration和@Bean,这些对于配置Spring应用上下文非常有用。 以上就是需要提及的一些常用的Java开发中用到的注解列表。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Spring - 52 -
    优质
    本笔记详细解析了Spring框架中的52个核心注解,涵盖依赖注入、组件扫描及事务管理等方面,适合初学者快速掌握。 在火狐浏览器中显示可能会有问题,大家都是程序员,调整一下参数就可以解决了。 这段文字包含一些常用的Java注解:拦截器、过滤器、序列化以及@After、@AfterReturning、@AfterThrowing、@annotation、@Around、@Aspect、@Autowired、@Bean、@Before、@Component、@ComponentScan、@ConfigurationProperties等。这些注解有助于简化开发过程,提高代码的可维护性和复用性。 具体包括: @Controller, @CrossOrigin, @EnableWebMvc, @GetMapping, @Import, @JsonDeserialize, @JsonIgnore, @JsonIgnoreProperties, @JsonIgnoreType, @JsonInclude,@JsonPropertyOrder ,@JsonProperty ,@JsonSerialize ,@JsonSetter ,以及用于依赖注入的注解如@Autowired、@Resource和@Component,还有定义控制器类的方法级别的注解@GetMapping和@PostMapping。此外还涉及一些元数据相关的注解如@Configuration和@Bean,这些对于配置Spring应用上下文非常有用。 以上就是需要提及的一些常用的Java开发中用到的注解列表。
  • Spring驱动学习.md
    优质
    本文档是关于使用Spring框架进行注解驱动开发的学习记录和心得分享,涵盖了基础概念、常用注解及其实战应用。 Spring框架使用了多种注解来简化开发过程并提供强大的功能支持。这些注解用于定义bean、注入依赖关系以及控制事务管理等方面。例如,@Component用来标记普通的Java类为组件;@Autowired则用来实现自动装配机制;而@Transactional则是为了确保方法级别的事务处理。 在学习Spring框架时,了解和掌握这些注解的使用是非常重要的步骤之一。通过查阅官方文档或相关教程可以深入理解它们的工作原理及其应用场景。此外,在实际项目开发中合理运用这些注解能够大大提高代码的质量与可维护性。
  • Spring Boot常用30.docx
    优质
    本文档详细解析了在使用Spring Boot进行开发时常用的30个注解,帮助开发者快速掌握并灵活运用这些注解,提高项目开发效率。 本段落详细介绍了Spring Boot最常用的30个注解,并对其概念、原理及示例进行了阐述。 一、 @SpringBootApplication 二、 Spring Bean 相关 1. @Controller 2. @Service 3. @Repository 4. @Component 5. @Bean 6. @Configuration 三、 注入相关 1. @Resource 2. @Autowired 3. @Qualifier 4. @value 5. @ConfigurationProperties 四、 HTTP请求相关 1. @GetMapping 2. @PostMapping 3. @RequestMapping 五、 前后端传值相关 1. @PathVariable 2. @RequestParam 3. @RequestBody 4. @ResponseBody 六、 全局异常处理相关 1. @ControllerAdvice 2. @ExceptionHandler 七、 Spring Data JPA 相关 1. @Entity 2. @Table 3. @Id ……
  • Spring @Transactional的工作
    优质
    本文详细解析了Spring框架中@Transactional注解的工作机制,包括其事务管理过程、传播行为及回滚规则等关键点。 在Spring框架中,`@Transactional`是一个强大的工具用于声明式地管理事务处理。它让开发者无需手动控制代码中的事务开始、提交或回滚操作,从而提高了程序的可读性和维护性。 当我们使用`@Transactional`注解时,Spring自动负责方法执行前后对事务边界的管理。这意味着如果在方法中发生异常,则整个事务将被撤销;反之,在没有异常的情况下完成的方法则会确认并保存所有更改。这个功能是通过Spring AOP(面向切面编程)实现的,它会在每个方法调用之前启动一个新事务,并依据执行结果决定是否提交或回滚该事务。 `@Transactional`还支持不同的传播行为属性,这决定了当被标记为事务的方法内部又调用了另一个带有相同注解的方法时如何处理。例如,默认情况下采用的是PROPAGATION_REQUIRED策略:如果当前已经存在活动的事务,则新方法将加入到现有的事务中;若没有现存的活动事务,则会创建一个新的。 此外,隔离级别也是`@Transactional`的一个关键方面,它定义了在并发操作期间数据可见性的规则。Spring支持四种标准JDBC隔离等级(READ_UNCOMMITTED、READ_COMMITTED、REPEATABLE_READ和SERIALIZABLE),开发者可以使用注解的isolation属性来指定合适的值。 值得注意的是,在Spring事务管理中,持久化上下文与数据库事务是两个不同的概念。持久化上下文通常通过Java Persistence API (JPA) 的EntityManager实现,并负责跟踪实体对象的状态及处理它们与数据库之间的交互。默认情况下,每个数据库事务都会对应一个新的持久化上下文(即“Entity Manager per application transaction”模式)。然而,在某些特定场景下,如Open Session In View模式中,持久化上下文可能会跨越多个事务边界以解决延迟加载的问题。 尽管`@Transactional`极大地简化了开发者对事务的管理,并提高了代码的整体质量,但理解其背后的工作机制对于优化性能和避免潜在问题至关重要。通过掌握Spring AOP代理、EntityManager与数据库事务之间的关系等核心概念,可以更有效地诊断并解决问题。 总之,借助于`@Transactional`提供的声明式事务处理能力,我们可以更加高效地管理事务相关代码,并保持良好的可读性和维护性水平。开发者应当根据实际需求和场景灵活运用各种属性及模式以实现最优的性能与可靠性。
  • Spring AOP配置
    优质
    本文章详细介绍了Spring框架中的AOP(面向切面编程)及其注解配置方法,帮助开发者轻松理解和应用AOP技术。 SpringAOP中的注解配置详解是了解Spring框架的重要内容之一,它允许开发人员在无需改动原有代码的情况下实现对业务逻辑的拦截与扩展功能。 一、使用注解来实施Spring AOP 利用注解形式进行编程可以大大简化Spring AOP的设定过程。通过这种方式,我们可以将Advice(或称切面)无缝地织入到目标对象中,并借此达成特定的功能需求如监控或者日志记录等任务的自动化处理。 例如,在以下实例代码里,我们采用@Aspect 注解来创建一个名为AnnotationHandler 的切面类: ```java @Aspect public class AnnotationHandler { ... } ``` 紧接着定义切入点的方法如下所示: ```java @Pointcut(execution(public * com.briup.aop.service..*.*(..))) public void myPointCut() { ... } ``` 这里,myPointCut 是该 @Pointcut 注解的名称。值得注意的是,此方法本身无需执行任何具体操作;其主要目的在于为注解提供一个可以书写的位置。 二、各种类型的Advice Spring AOP支持多种类型的通知(即Advice),每种通知都有特定的功能和应用场景。接下来我们将详细介绍这些不同类型的通知: * @Before 注解:在切入点上的目标方法被调用之前执行; ```java @Before(myPointCut()) public void beforeTest(JoinPoint p) { System.out.println(p.getSignature().getName() + before...); } ``` * @After注解:在切入点的目标方法之后执行: ```java @After(myPointCut()) public void afterTest(JoinPoint p) { System.out.println(p.getSignature().getName() + after...); } ``` * @AfterReturning 注解:当目标方法正常结束时触发; ```java @AfterReturning(myPointCut()) public void afterReturningTest(JoinPoint p) { System.out.println(p.getSignature().getName() + after returning); } ``` * @Around注解:在切入点的目标方法前后执行环绕通知,可以控制何时调用目标方法: ```java @Around(myPointCut()) public Object aroundTest(ProceedingJoinPoint pjp) throws Throwable { System.out.println(pjp.getSignature().getName() + is start..); Object obj = pjp.proceed(); System.out.println(pjp.getSignature().getName() + is end..); return obj; } ``` * @AfterThrowing 注解:当目标方法抛出异常时执行; ```java @AfterThrowing(value=myPointCut(), throwing=ex) public void throwingTest(JoinPoint p, Exception ex) { System.out.println(p.getSignature().getName() + is throwing... + ex.getMessage()); } ``` 三、XML配置 除了使用注解外,Spring AOP同样支持通过XML文件来进行切面的定义。以下是一个简单的示例: ```xml ``` 以上配置指示了Spring框架扫描 com.briup.aop 包下的所有类,并将它们注册为Spring容器中的Bean。 ```xml ``` 该行代码则强制使用CGLIB代理机制来创建代理对象。 综上所述,通过运用注解和XML配置的方法,开发者能够便捷地实现对业务逻辑的拦截与扩展功能,在不修改原有源码的前提下增强应用的功能性。
  • ORB-SLAM3与源码
    优质
    本书籍《ORB-SLAM3笔记:原始注解与源码解析》深入浅出地剖析了ORB-SLAM3的关键技术和实现细节,提供了详尽的代码解读和注释。适合计算机视觉领域研究者和技术爱好者参考学习。 ORB-SLAM3的原始代码量较大且注释不够完整,因此在学习过程中应重点关注其工作原理。
  • Spring Boot 系列四:@Value 属性
    优质
    本篇为Spring Boot系列教程第四部分,主要讲解和总结了@Value注解在项目中的应用,包括如何使用它来注入各种类型的属性值。通过实例解析其功能与灵活性,帮助开发者更好地理解和利用这一特性。 Spring Boot系列四:Spring @Value 属性注入使用总结一 本段落主要对Spring框架中的@Value注解进行详细介绍,并给出实际应用示例来帮助读者更好地理解和掌握其用法,适用于希望深入了解属性配置机制的开发者参考学习。
  • Spring中组合和元理及使用方法
    优质
    本文深入探讨了Spring框架中的组合注解与元注解的概念、工作原理及其应用技巧,帮助开发者更高效地利用这些功能优化代码结构。 Spring 框架中的组合注解和元注解是两个重要概念,在框架开发过程中发挥着关键作用。接下来详细介绍这两个概念的原理与用法。 一、组合注解 在 Spring 中,组合注解是指被其他注解所引用的注解,并具备这些引用注解的功能。例如,@Configuration 就是一个典型的组合注解,它结合了 @Component 的功能,表明使用该注解标记的类也是一个 Bean 对象。通过这种方式可以简化代码编写过程并提升开发效率。 二、元注解 元注解是指可以在其他注解上使用的特殊类型的注解。Spring 中有许多这样的元注解,比如 @Target 用于指定被修饰元素的作用范围;@Retention 指定其保留级别(源码中可见还是编译后仍存在)等。利用这些元注解可以更好地定义和描述自定义的注解信息。 三、创建自己的组合注解 为了满足特定业务场景的需求,我们可以构建一个定制化的组合注解。例如,假设需要同时实现 @Configuration 和 @ComponentScan 的功能,则可设计一个新的组合注解:@WiselyConfiguration,并在其中整合这两个基础特性: ```java @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Configuration @ComponentScan public @interface WiselyConfiguration { String[] value() default {}; } ``` 四、实际应用案例 下面通过一个具体例子展示如何使用上述定义的组合注解。 1. 创建服务接口DemoService,用于演示注入到Spring容器中的行为: ```java @Service public class DemoService { public void outputResult(){ System.out.println(从组合注解配置照样获得的bean); } } ``` 2. 定义一个配置类DemoConfig,利用之前创建的@WiselyConfiguration进行标记: ```java @WiselyConfiguration(value = com.wisely.highlight_spring4.ch3.annotation) public class DemoConfig {} ``` 3. 利用Spring框架中的ApplicationContext加载配置信息并获取服务实例: ```java public class Main { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(DemoConfig.class); DemoService demoService = (DemoService)context.getBean(demoService); demoService.outputResult(); } } ``` 五、总结 Spring框架中的组合注解和元注解功能强大,能够有效简化代码编写过程并提高开发效率。通过自定义这些高级注解可以更好地满足特定业务需求,进而提升整体项目质量和维护性。
  • Spring AOP AspectJ及案例分析
    优质
    本文章对Spring框架中AOP与AspectJ注解进行了全面总结,并通过具体案例深入剖析了它们的应用实践。 Spring AOP之基于AspectJ注解总结与案例的具体效果和过程可以在相关博文里查看。
  • Spring整理.docx
    优质
    本文档对Spring框架中常用的注解进行了全面总结和分类说明,帮助开发者快速理解和应用Spring的核心特性。 Spring 注解描述大全