(狂神说)Spring学习笔记
文章平均质量分 73
(狂神说)Spring学习笔记
身伤易逝lk
这个作者很懒,什么都没留下…
展开
-
1、了解Spring
1.1、Spring简介Spring: 春天2002, 首次推出了Spring的雏形: interface21框架!Spring是以interface21框架为基础, 经过重新设计, 并不断丰富其内涵, 于2004年3月24日, 发布了1.0正式版本。Rod Johnson, Spring Framework创始人, 著名作者。音乐学博士springSping理念: 使现有的技术更加容易使用, 本身是一个大杂烩Spring Framework框架下载地址: https://repo.spring..原创 2021-11-03 18:50:49 · 99 阅读 · 0 评论 -
2、IOC理论推导(重点)
2.1、IOC的原型原来的JavaWeb架构: 1.UserDao接口2.UserDaoImpl实现类3.UserService业务接口4.UserServiceImpl业务实现类在我们之前的业务中, 用户的需求可能会影响我们的原代码、我们需要根据用户的需求去修改源代码! 如果程序代码量十分的大, 修改一次的成本会十分昂贵!!!我们使用一个Set接口实现, 已经发生了革命性的变化! private UserDao userDao; //利用set的动态实现值的注入 pu.原创 2021-11-03 18:52:04 · 84 阅读 · 0 评论 -
3、Hello Spring
3.1、 XML配置文件实现实体类:package com.pojo;public class Hello { private String str; public String getStr() { return str; } public void setStr(String str) { this.str = str; } @Override public String toString() { .原创 2021-11-03 18:53:00 · 140 阅读 · 0 评论 -
4、IOC的创建对象的方式
1、使用无参构造创建对象, 默认!! <bean id="user" class="com.pojo.User"> <property name="name" value="身伤易逝"/> </bean>2、假设要用有参构造①有参构造一: 下标赋值, 参数从0~1排序 <!--有参构造一: 下标赋值, 参数从0~1排序--> <bean id="userName" class="com.原创 2021-11-03 18:53:34 · 72 阅读 · 0 评论 -
5、Spring配置
5.1、别名别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名) <**alias name="userName3" alias="user3"**/> name: 也是别名, 而且可以同时取多个别名(通过空格、逗号、分号来分割) <!--别名: 如果添加了别名, 我们也可以使用别名获取这个对象 (没什么用 通过name也可以取别名)--> <alias name="userName3" alias="u.原创 2021-11-03 18:54:11 · 85 阅读 · 0 评论 -
6、依赖注入(DI)
6.1、构造器注入<!--有参构造一: 下标赋值, 参数从0~1排序--> <bean id="userName" class="com.pojo.User"> <constructor-arg index="0" value="情伤难合"/> </bean>6.2、Set方式(属性)注入[重点]为class中的对象赋值 该属性必须要有Set方法!!依赖注入: Set注入!依赖: bean对象.原创 2021-11-03 18:54:41 · 1744 阅读 · 0 评论 -
7、自动装配Bean
自动装配是Spring满足bean依赖的一种方式!Spring会在上下文中自动寻找, 并自动给bean装配属性!在Sping中有三种装配的方式①在xml中显示的配置②在java中显示的配置③隐式的自动装配的bean** [重要]**7.1、搭建环境一个人有两个宠物一狗一猫7.2、ByName自动装配byName: 会自动在容器上下文中寻找, 和自己对象set方法的形参名对应的beanId,然后自动装配<!--byName: 会自动在容器上下文中寻找, 和自己对象set方法的形参名原创 2021-11-03 18:55:22 · 206 阅读 · 0 评论 -
8、使用注解开发
①在Spring之后, 要使用注解开发, 必须要保证aop的包导入了![image.png](https://img-blog.csdnimg.cn/img_convert/d2b39238ec0ee423a83c74dd70e32603.png#clientId=uc323d233-b8ee-4&from=paste&height=245&id=u06ae78cf&margin=[object Object]&name=image.png&originHei原创 2021-11-03 18:56:06 · 79 阅读 · 0 评论 -
9、使用Java的方式配置Spring
我们现在要完全不使用Sping的xml配置了, 全权交给Java来做!JavaConfig是一个Spring的子项目, 在Spring4以后, 它成为了一个核心功能1、实体类:package com.pojo;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Component;@Component//说明这个类被Spring接管了public clas原创 2021-11-03 18:56:42 · 70 阅读 · 0 评论 -
10、代理模式
为什么要学习代理模式? 因为这就是SpringAOP的底层面试必问: [SpringAOP 和 SpringMVC]代理模式的分类: ①静态代理②动态代理![image.png](https://img-blog.csdnimg.cn/img_convert/a7d145d6fd44d9ba13e288d15f00d3ee.png#clientId=u149c5fa5-1d4b-4&from=paste&height=325&id=ueb28e661&margin=[ob原创 2021-11-03 18:57:22 · 160 阅读 · 0 评论 -
11、AOP(重点)
11.1、什么是AOPAOP(Aspect Oriented Programming) 要为: 面向切面编程, 通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP是延续, 是软件开发中的一个热点, 也是Spring框架中的一个重要内容, 是函数式编程的一种衍生泛型。利用AOP可以对业务逻辑的各个部分进行隔离, 从而使得业务逻辑各部分之间的耦合度降低, 提高程序的可重用性, 同时提高开发的效率![image.png](https://img-blog.csdnimg.cn/im.原创 2021-11-08 16:00:53 · 150 阅读 · 0 评论 -
12、整合Mybatis
步骤:1、导入相关的jar包junitmybatismysql数据库spring相关aop织入mybatis-sping**[new]** <!--mybatis-spring--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis-spring</artifactId&原创 2021-11-08 16:02:01 · 232 阅读 · 0 评论 -
13、声明式事务
13.1、回顾事务把一组业务当成一个业务来做; 要么都成功要么都失败!事务在开发中,十分的重要,涉及到数据的一致性问题, 不得马虎!确保完整性和一致性分享个踩的坑,MyISAM不支持事务,InnoDB可以事务的ACID原则:原子性一致性持久性事务一旦提交, 无论系统发生什么问题, 结果都不会再被影响, 被持久化的写到存储器中隔离性(幻读,脏读,不可重复读)多个业务可能操作同一个资源防止数据损坏13.2、spring中的事务管理声明式事务: AOP.原创 2021-11-08 16:02:52 · 74 阅读 · 0 评论