VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • 【后端】Spring注解开发

注意 :必须开启注解的支持 让注解生效(在 applicationContext.xml 中配置)


<!-- 指定要扫描的包 这个包下注解就会生效--> <context:component-scan base-package="com.example"/> <context:annotation-config/>
 
 

1|1Maven依赖


<dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.9</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13.2</version> <scope>test</scope> </dependency> </dependencies>
 
 

1|2applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd"> <!-- 指定要扫描的包 这个包下注解就会生效--> <context:component-scan base-package="com.example"/> <context:annotation-config/> </beans>
 
 

2|0✨自动装配注解

@Autowired 自动装配通过类型、名字匹配

@Qualifier

如果@Autowired不能唯一自动装配上属性(多个不同id的bean标签对应同一个类)

则需要通过 @Qualifier(value = "xxx")

@Nullable 字段标记了这个注解 说明这个字段可以为Null

@Resource 自动装配通过名字、类型匹配

3|0✨衍生注解

@Component 组件 说明这个类被Spring管理了 是Bean

在web开发中 按照MVC三层架构开发

  • dao -> @Repository
  • service -> @Service
  • controller -> @Controller

这四个注解功能一样 都是将某个类注册到Spring中 装配Bean

4|0✨作用域

@Scope

5|0✨AOP

5|1Maven依赖


<!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.7</version> <scope>runtime</scope> </dependency>
 
 

5|2applicationContext.xml


<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd"> <!-- 开启注解支持--> <!-- JDK(默认 proxy-target-class="false")--> <!-- CGlib(proxy-target-class="true")--> <aop:aspectj-autoproxy/> </beans>
 
 

5|3注解实现AOP

@Aspect 标注这个类是一个切面

@After 相当于 <aop:After method="method" pointcut-ref="pointcut"/>

@Before 相当于 <aop:before method="method" pointcut-ref="pointcut"/>

@Around 相当于 <aop:around method="method" pointcut-ref="pointcut"/>

@AfterReturning 相当于 <aop:after-returning method="method" pointcut-ref="pointcut"/>

@AfterThrowing 相当于 <aop:after-throwing method="method" pointcut-ref="pointcut"/>

6|0✨XML与注解

6|1XML与注解对比

  • XML适用于任何场合!维护简单方便
  • 注解不是自己的类无法使用 维护相对复杂

6|2使用参考

  • XML用来管理bean;
  • 注解只负责完成属性的注入

7|0✨Spring官方文档

Spring Framework Documentation

8|0✨课程链接

【狂神说Java】Spring5最新完整教程IDEA版通俗易懂_哔哩哔哩_bilibili

9|0⭐转载请注明出处

本文作者:双份浓缩馥芮白

原文链接:https://www.cnblogs.com/Flat-White/p/15110606.html

版权所有,如需转载请注明出处。

 


相关教程