SSM是用Spring框架去整合SpringMVC框架和MyBatis框架
Spring Boot:是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具,集成了大量常用的第三方库配置,旨在尽可能快地启动和运行,并且只需最少的 Spring 前期配置
优势 | 详解 |
简化编码 | Spring Boot会帮助开发者快速启动一个web 容器,只需要在 pom 文件中添加 starter-web 依赖 |
简化配置 | 采用 Java Config 的方式,对 Spring 进行配置
Spring Boot 中只需要个 application.yml |
简化部署 | Spring Boot 内嵌了 tomcat,我们只需要将项目打成 jar 包,使用 java -jar xxx.jar 一键式启动项目 |
简化监控 | 可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的 |
Spring Boot 项目总共有三个模块
1. src/main/java路径:主要编写业务程序
2. src/main/resources路径:存放静态文件和配置文件
3. src/test/java路径:主要编写测试程序
首先要理解引用的概念
OOP reference(引用):
通过构造方法是创建对象的唯一途径,且对象是唯一的Object(unique) reference
引用(指针): 可以复制传递 reference
OOP
编码:类类
运行:对象和对象
优化方向:解耦,避免强关系
规避: 交叉依赖,比如Class A{B b;} Class B{A a;}
手段:Class A{public static final int RESOURCES=""}
1.继承(Class B extends Class A{})属于强依赖关系,继承多用于数据类,少用于核心类
2.组合(Class B{A a;} & Class C{A a;})属于强依赖关系
3. 参数Class B{ public void test(A a){}}属于强依赖关系,能用参数,不用组合
4. 静态 作用域范围太大,影响内存,最好不用
5.多态(依赖抽象) 需要interface A{}+最小原则,Class B{A a;} & Class C{A a;}和Class B{ public void test(A a){}}
Spring对象托管给Spring容器,具有两大特性:
1. 依赖注入DI(DependencyInjection): 通常在需要使用托管对象时,以注解方式引入引用@Autowired
a. beans 指向model.xml | spring-mvc.xml
<bead id="..." class="..." scope="singleton"></bean>
b. <context: annotation-config/><context:compone-scan package="...">
@Repository 面向mapper的注解
@Service 面向service的注解
@Autowired 将对象引用动态注入
@Controller 面向控制层 JSP
@RestController 前后端分离
@CrossOrigin 跨域 @CrossOrigin("192.168.*.*")只限制前两位是192和168 @CrossOrigin("*")任何IP地址都可以
@Component 通用的
@RequestMapping() 面向客户请求 相当于servlet中的service方法
@GetMapping() 只支持doget请求
@PostMapping() 只支持dopost请求
<mvc: annotation-driver/>
@RequestParam(value="nameBoundTo",required=true,defaultValue="12")
@XxxMapping("/aa/{id}")与下述方法组合使用
public YyyMethod(@PathVariable("id") int value)
2. 控制反转IOC(InversionofControl)