学习内容:
1、 Spring工程搭建
2、 项目常用后端代码结构
3、 if判断和三目运算符
4、 Spring IOC & DI
5、 代理模式
6、 SpringAOP
spring工程搭建
首先要引入四个spring基础包
spring-core
spring-beans
spring-context
spring-expression
二,常用的后端代码结构
分别是:
Controller
Service
DAO
方法的调用流程:
数据库通过SQL传递给DAO(数据交互)
DAO层再通过entity到Service(数据加工处理)
Service层再通过vo到Controller层(拿取数据给前端)
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-beans -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-context -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-expression -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-expression</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aop -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jcl -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jcl</artifactId>
<version>5.2.13.RELEASE</version>
</dependency>
</dependencies>
2.
后端代码的结构Controller层(流程控制层)负责流程控制+Service层(业务逻辑层)负责逻辑应用设计+Dao层(数据操作层)负责与数据库联络+常用的entity实现类和vo视图类。
3.
if (判别式) { 代码块1 } else { 代码块2 }
public class Test { public static Integer getMaxIf(int a, int b) { if (a > b) { return a; } else { return b; } } public static void main(String[] args) { int a = 1; int b = 2; System.out.println("if 返回最大值" + getMaxIf(a, b)); } }
4.
代理模式是给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用
通俗来说就是委托人将整栋楼的空房间委托给代理商管理,代理商在不改变房屋架构的基础上二次装修,打造为青年公寓出租给有租房需求的客户
空房间就是原代码,二次装修就是给源代码统一添加功能,租房动作就是对源代码的引用
代理模式可以分为静态代理和动态代理:
静态代理
静态代理是由程序员创建或特定工具自动生成源代码,在程序运行之前,代理类就已经编译生成了.class文件。
动态代理
动态代理是在程序运行时通过反射机制动态创建的,随用随加载。动态代理常用的有基于接口和基于子类两种方式
5.AOP是一种编程设计模式,是一种编程技术,使用AOP后通过修改配置即可实现增加或者去除某些附加功能
SpringAOP的作用就是把程序中重复的代码抽取出来,在需要执行的时候,使用动态代理技术,在不修改源码的基础上,对已有方法进行增强
优势就是减少了重复代码,提高代码复用性,提高开发效率,使得代码的维护更加方便
在开发时通常将日志记录,数据库连接池的管理,系统统一的认证、权限管理等用面向切面的方式开发