栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring框架笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring框架笔记

常用注解:

1、@Configuration  标识当前类是配置类

2、@ComponentScan  包扫描注解   扫描注解

3、@Bean  标识该方法的返回值交给Spring容器管理

4、@Scope  控制多例和单例

5、@Lazy  懒加载

6、@PostConstruct  初始化方法

7、@PreDestroy 销毁方法

8、@Component 将当前类未来的对象交给容器管理

9、@Autowired 按照类型进行注入

10、@Qualifier 按照名称进行注入

11、@Repository 标识持久层注解

12、@Service 标识Service层

13、@Controller 标识Controller层

14、@Value 为属性赋值 @Value("${key}")

15、@PropertySource 加载指定路径的配置文件properties



 

一、Spring介绍

Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,

是针对bean的生命周期进行管理的轻量级容器。

知识补充:

1)J2SE java基础; J2EE java企业级开发; J2ME 移动端开发。

2)bean:spring容器管理的对象称之为bean

3)生命周期:对象创建 / 对象的初始化 / 对象执行业务逻辑 / 对象销毁

4)轻量级容器:Spring在内存中申请了一块内存空间,用来储存其他对象

二、面向接口编程

说明:将子类中方法进行高级的抽取,抽取到接口中,这时该接口用来定义行为规范准则。

面向接口编程优势:解决了属性与方法名的耦合,以后几乎可以不修改属性名。

三、Spring-IOC规则 1、面向接口编程弊端

说明:虽然面向接口编程可以在一定程度上解决代码耦合性的问题,但是根源问题没有解决,

当前的User类与Cat等对象紧紧的耦合在一起,如果后期维护,则必然要修改源码。

2、IOC调用原理图

IOC:即 “控制反转”,这是一种设计思想。对象创建的权力由Spring框架完成,

由容器管理对象的生命周期,需要的时候进行依赖注入(DI)即可。

3、Spring-IOC 入门案例

1)准备Dog类

2)准备spring的配置文件

说明:spring早期都使用配置文件的方式来管理对象,但是随着软件的升级当下注解的方式已经成为主流,所以先完成xml配置文件的方式,之后完成注解的方式。

内容说明:xml 文件一般都会有固定的头标签

3)准备SpringGetDog类

 4、Spring实例化对象

Spring实例化对象的核心原理 - 反射原理

注意事项:反射代码 必然会调用对象的无参构造方法。

5、Spring创建对象的步骤

1)定义Spring的配置文件的地址,

2)Spring容器启动时加载指定的配置文件,

3)当Spring扫描到bean标签时,加载属性 id 和 class。

4)根据反射机制、根据class的路径反射,实例化对象,

5)Spring 在内部维护了一个大型的 Map 集合(容器),bean 中的 Id 充当Map中的 key,实例化的对象充当 Map 中的 value。形式:Map 到此为止 spring 容器启动成功。

6)从spring容器中通过 Id 或者 class 类型获取对象。

7)根据对象调用业务方法。

四、Spring-IOC注解开发 1、注解组成部分

1)实体类:Spring容器管理的类(对象)

2)配置类:相当于早起的 xml 配置文件

3)测试代码:利用注解的方式启动spring容器

配置类内容:

 

2、Spring中的单例 - 多例模式

1)概念说明:

单例模式:内存中的对象就一份

多例模式:内存中的对象有多份

概念说明:Spring的对象默认是单例的

2)关于注解@Scope    注解@Lazy (懒加载)

关于多例模式和懒加载说明:

@Lazy只能控制单例模式,多例模式都是懒加载。

3、多实现类案例讲解

一般条件下Spring中的接口,都是单实现,解决多实现的就需要加入@Qualifier。

 

五、MVC设计思想

为了提高程序的扩展性,将程序按照MVC设计思想进行管理。

1、MVC设计思想说明

M :Model  数据层

V:View  视图层

C:Control  控制层

总结:MVC主要的目的降低代码的耦合性,提高扩展性,方便后续开发。

 

2、"三层"代码结构

说明:基于MVC设计思想的启发,在后端为了提高代码的扩展性,一般将后端代码分为三层。

1)Controller层:主要与页面进行交互 @Controller

2)Service层:主要实现后端的业务逻辑 @Service

3)Dao层 / Mapper层:主要与数据库进行交互,也把该层称之为"持久层"

@Repository / @Mapper

代码结构说明:

1、包名:mapper 类 2个,一个接口 UserMapper / 一个实现类 UserMapperImpl

2、包名:service 类 2个,一个接口UserService / 一个实现类 UserServiceImpl

3、包名:controller  1个类,UserController

知识说明:被调用的一般会有接口和实现类

@Value注解 :需在resources下创建 addUser.properties 文件

 

六、Spring - AOP 1、业务说明

事务特性:原子性、一致性、隔离性、持久性

业务说明:在增 / 删除 / 修改的操作过程中添加事务控制

 

2、

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/678595.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号