
Spring
Spring框架生态圈
长不大的大灰狼
这个作者很懒,什么都没留下…
展开
-
Spring中配置ContextLoaderListener
Spring中配置ContextLoaderListenerweb.xml: <!-- contextConfigLocation参数用来指定Spring的配置文件 needed for ContextLoaderListener --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpa原创 2021-02-26 10:18:38 · 2705 阅读 · 1 评论 -
Spring、SpringMVC、Mybatis配置流程
spring、mybatis、springmvc配置整合1 数据库环境:2 基本环境搭建3 建立基本结构和配置框架4 Mybatis层配置4 Spring层配置(1)spring层整合mabatis层配置:spring-dao.xml(2)spring层整合service层配置:spring-service.xml5 SpringMVC层配置(1)添加web支持(2)web.xml(3)spring-mvc.xml(4)整合所有spring配置文件:applicationContext.xml(5)Cont原创 2020-11-26 17:04:47 · 223 阅读 · 0 评论 -
SpringMVC
SpringMVC——属于Spring Framework框架之一Spring MVC 是 Spring 提供给 Web 应用的框架设计。Spring MVC 角色划分清晰,分工明细,并且和 Spring 框架无缝结合。作为当今业界最主流的 Web 开发框架,Spring MVC 已经成为当前最热门的开发技能,同时也广泛用于桌面开发领域SpringBoot会默认将src/main/resources目录下的public、static作为静态文件夹,将templates作为模板文件夹。注意:默认的静原创 2020-06-11 17:02:39 · 388 阅读 · 0 评论 -
内部Bean、外部Bean和级联赋值
1 外部Beanpublic class UserDao{ private String username; public void SetName(String name){ this.username = name; } public void add(){ System.out.println("hello"); }}public class UserService{ private UserDao userdao; public void setUserdao(User原创 2020-11-16 19:19:51 · 967 阅读 · 0 评论 -
Spring工厂方法注入属性
1 静态工厂注入在 Spring 中,也可以使用静态工厂的方式实例化 Bean。此种方式需要提供一个静态工厂方法创建 Bean 的实例。① 创建实体类public class Person{ String name; public void setName(String name){ this.name = name; }}② 创建静态工厂类创建一个名为 MyBeanFactory 的类,并在该类中创建一个名为 createBean() 的静态方法,用于创建 Bean 的实原创 2020-11-29 08:55:53 · 1192 阅读 · 0 评论 -
静态代理
静态代理举个例子,现在有个家庭需要结婚,但结婚需要很多复杂的事务,比如婚礼彩排,宴会等,这时复杂的事务可以交给婚庆公司来代理。1 编写接口:package marry;public interface Imarry { void marry();}2 需要结婚的家庭该家庭需要结婚,所以需要实现结婚的Imarry接口。package marry;public class Home implements Imarry { @Override public voi原创 2020-08-16 09:55:22 · 185 阅读 · 0 评论 -
动态代理模式:JDK和Cglib的代码实现
AOP的实现方式:JDK和CglibⅠ JDK的方式(1)IJdkService.java接口:package example.proxy.jdk;public interface IJdkService{ public void service();}(2)JdkService.java接口实现类package example.proxy.jdk;public class JdkService implements IJdkService{ @Override原创 2020-07-19 10:42:19 · 267 阅读 · 0 评论 -
字节码增强和spring AOP 原理
字节码增强和spring AOP 原理————AOP技术其实就是字节码增强技术,JVM提供的动态代理追根究底也是字节码增强技术。两种实现机制:一种是通过创建原始类的一个子类,现在的SpringAOP正式通过这种方式实现,另一种是非常暴力的,即直接修改原先的Class字节码,在许多类的跟踪过程中会用到这技术(类加载时修改字节码信息,运行时修改)。字节码增强步骤:1.在内存中获取到原始的字节码,然后通用一些开源提供的API来修改它的byte[]数组,得到一个新的byte[]。(ASM,javassist转载 2020-07-15 15:57:26 · 1246 阅读 · 0 评论 -
Spring生命周期——简介
Spring生命周期Spring 容器可以管理 singleton 作用域 Bean 的生命周期,在此作用域下,Spring 能够精确地知道该 Bean 何时被创建,何时初始化完成,以及何时被销毁。而对于 prototype 作用域的 Bean,Spring 只负责创建,当容器创建了 Bean 的实例后,Bean 的实例就交给客户端代码管理,Spring 容器将不再跟踪其生命周期。每次客户端请求 prototype 作用域的 Bean 时,Spring 容器都会创建一个新的实例,并且不会管那些被配置成 p原创 2020-06-10 11:24:30 · 4867 阅读 · 0 评论 -
Spring项目相关配置
Spring项目相关配置1 新建一个空白项目(相当于一个空文件夹)2 Maven相关配置setting.xml全局配置,本地仓库配置。参考博客:setting配置3 在空项目中创建一个Maven项目模块(1)选中Module模块(2)选定Maven(3)Maven项目名称(4)pom.xml文件配置4 IDEA配置参考博客:Maven项目的IDEA配置...原创 2020-06-07 15:41:21 · 209 阅读 · 0 评论 -
Spring——事务管理
文章目录Spring——事务管理(1)配置声名式事务:(2)使用Spring管理事务,注意头文件的约束导入 : tx(3) 配置事务通知(4)配置aop织入事务Spring——事务管理提供声名式事务,允许用户自定义切面。事务:要么都成功,要么都失败,涉及到数据的一致性问题。事务的ACID原则:原子性,一致性,隔离性,持久性编程式事务管理将事务管理代码嵌到业务方法中来控制事务的提交和回滚,try catch。缺点:必须在每个事务操作业务逻辑中包含额外的事务管理代码声明式事务管理一般情况原创 2020-08-03 21:39:16 · 229 阅读 · 0 评论 -
Spring——JdbcTemplate
JdbcTemplate1、JdbcTemplate概念(1)什么是JdbcTemplate(2)依赖的jar包1、JdbcTemplate概念(1)什么是JdbcTemplateSpring 框架对JDBC 进行封装,使用JdbcTemplate 方便实现对数据库操作(2)依赖的jar包原创 2020-11-30 16:42:52 · 198 阅读 · 0 评论 -
Spring框架的核心组件——Aop
Spring实现Aop的三种方式1 代理模式是实现Aop的基础:1)JDK的方式:被代理类必须实现接口,基于InvocationHandler、Proxy生成代理类。(动态代理)2)CGLIB的方式:被代理类不需要实现接口。(动态代理)2 Aop在Spring中的作用:提供声明式事务;允许用户自定义切面。3 AOP中用到的名词:横切关注点:可以穿插到应用程序之间的方法或功能。如日志 , 安全 , 缓存 , 事务等等 …切面(Aspect):横切关注点 被模块化 的特殊对象。即,它是一个类。原创 2020-07-31 20:37:04 · 777 阅读 · 0 评论 -
Spring ——Bean(IOC)容器
spring framework——Bean容器为什么需要Bean容器?一般的项目搭建,都需要将各层进行分离以降低代码之间的耦合度。比如我们常用Dao层(数据访问层)、service层来封装和数据库的交互部分,其中Dao层负责具体的增删查改,service层负责调用Dao层的方法来对外提供服务。例如:使用这种方法调用数据库,相当于将对象放到了方法中,此时对象对应的变量(局部变量)随着栈帧的创建而出现,随着栈帧的退出而销毁。那么由于没有引用指向它,该对象就会很快变成可回收状态。如果对象的创建初始化较为原创 2020-06-09 17:30:31 · 2317 阅读 · 1 评论