Spring笔记一 - 工厂
- 作者: Wyt
系列文章目录
Spring笔记(1) - 工厂
Spring笔记(2) - AOP编程
Spring笔记(3) - 持久层整合
Spring笔记(4) - MVC框架整合
Spring笔记(5) - 注解编程入门
Spring笔记(6) - 注解编程基础
文章目录
前言
此笔记由孙哥的视频整理而来
孙哥B站视频链接如下:
孙哥说Spring5 全部更新完毕 完整笔记、代码看置顶评论链接~学不会Spring? 因为你没找对人
正文
1. 概述
1.1 EJB(Enterprise Java Bean)
存在的问题:
1. 运行环境苛刻
2. 代码移植性差
1.2 Spring是什么
- 概念
Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IOC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。
-
优势
1. 方便解耦,简化开发 2. AOP编程的支持 3. 声明式事物的支持 4. 方便程序的测试
-
轻量级
1. 对于运行环境是没有额外要求的
开源 tomcat resion jetty
收费 weblogic websphere
2. 代码移植性高
不需要实现额外接口
- 分层,多模块
- 整合设计模式
1. 工厂
2. 代理
3. 模板
4. 策略
1.3 设计模式
1. 广义概念
面向对象设计中,解决特定问题的经典代码
2. 狭义概念
GOF4人帮定义的23种设计模式:工厂、适配器、装饰器、门面、代理、模板...
2. Spring入门
2.1 知识铺垫
1. javase基础
2. mysql的基本操作
3. 了解jdbc
4. maven
2.2 环境支持
1. JDK
2. Maven
3. IDEA
Spring官方网站: www.spring.io
2.3 Maven中各类文件的介绍
Maven包名
src
main
java: 用来存放项目主要的代码: .java
resouce: 存放配置文件: .xml .propertise
test: 存放测试类: .java
target: 存放依赖: .jar
pom.xml: 对象模型(Project Object Model)管理文件
包名.iml: IDEA生成的对Module的配置信息
1. 一般在resouce文件夹新建applicationContext.xml
用于管理bean对象,aop配置等
(理论上可以任意命名,放在任意位置)
2. 使用时:
ApplicationContext ctx = new
ClassPathXmlApplicationContext("/applicationContext.xml");
2.4 重要概念
1. bean:
Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称为Bean。
在applicationContext.xml中,
用<bean id="###" class="相对位置">, 引入某个类并赋值id(唯一), 其他`属性有如name(别名)等
2. 依赖管理:
2.1 Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为“依赖注入”的方式来管理Bean之间的依赖关系。
2.2 使用依赖注入,不仅可以为Bean注入普通的属性值,还可以注入其他Bean的引用。依赖注入是一种优秀的解耦方式,其可以让Bean以配置文件组织在一起,而不是以硬编码的方式耦合在一起。
https://www.runoob.com/maven/maven-manage-dependencies.html
3. 反射
https://www.cnblogs.com/chanshuyi/p/head_first_of_reflection.html
2.5 第一个Spring
1. 配置pom.xml
2. 创建java类对象
3. 配置applicationContext.xml
4. 添加测试代码并运行
详细步骤:
1. 配置pom.xml, 指定编码格式和JDK版本
<?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:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop https://www.springframework.org/schema/aop/spring-aop.xsd
">
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.complier.source>15</maven.complier.source>
<maven.complier.target>15</maven.complier.target>
</properties>
2. 在pom.xml中引入相关依赖
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.1.4.RELEASE</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependencies>
3. 创建java类对象
在main.