随笔分类 -  Spring & SpringMVC

摘要:不可否认的是,把Bean交给Spring管理,确实极其的方便,优点一大把,并且还几乎没有啥缺点。这也就是为何咱们一言不合就把Bean扔给Spring的原因。(在Spring的技术栈里这么做,完全没有问题) 然而,就Spring框架本身而言。它的强大的依赖注入,不仅仅能给自家的Bean使用,还能赋能给 阅读全文
posted @ 2021-12-11 15:56 残城碎梦 阅读(327) 评论(0) 推荐(0) 编辑
摘要:BeanFactory和ApplicationContext 区别 BeanFactory和ApplicationContext都支持BeanPostProcessor、BeanFactoryPostProcessor的使用 基本区别 BeanFactory:BeanFacotry是Spring中最 阅读全文
posted @ 2021-12-11 14:39 残城碎梦 阅读(491) 评论(0) 推荐(0) 编辑
摘要:@Import模式向容器导入Bean是一种非常重要的方式,特别是在注解驱动的Spring项目中,@Enablexxx的设计模式中有大量的使用,在当下最流行的Spring Boot中,被用来做底层抽象、组件式的设计。 比如我们熟悉的:@EnableAsync、@EnableAspectJAutoPro 阅读全文
posted @ 2021-12-11 12:54 残城碎梦 阅读(1432) 评论(0) 推荐(1) 编辑
摘要:在Java Web的开发中,我们大都执行着三层的开发模式(Controller、Service、Dao)。 在实际开发中:有不少小伙伴想在Service层或者某个工具类层里获取HttpServletRequest对象,甚至response的都有。 其中一种方式是,把request当作入参,一层一层的 阅读全文
posted @ 2021-12-10 18:13 残城碎梦 阅读(1103) 评论(0) 推荐(0) 编辑
摘要:问题剖析: 一个请求url是怎么样找到Handler进行处理的? 拦截器为何preHandler顺序执行,postHandler就倒序执行呢? Spring MVC是怎么样去优雅的处理异常的? …... 请求处理流程: 了解之前,我们先宏观看看,一个请求达到Spring MVC,它的一个处理流程。 阅读全文
posted @ 2021-12-10 17:53 残城碎梦 阅读(382) 评论(0) 推荐(0) 编辑
摘要:为了更好的去理解Spring MVC的工作机制,这篇文章我们主要来讲Spring MVC在初始化的时候(容器启动的时候),做了哪些准备工作。 比如URL和Controller的绑定,以及URL和方法method的绑定,拦截器的初始化,视图解析器的初始化等Spring MVC web9大组件的初始化。 阅读全文
posted @ 2021-12-10 16:08 残城碎梦 阅读(373) 评论(0) 推荐(0) 编辑
摘要:Servlet3.0是一次Java EE规范的一次重要升级,支持到可以全部采用注解驱动,大大简化了配置web.xml的麻烦。现在启动一个web容器并不强制依赖于web.xml部署描述符了。 最让我们印象深刻的是,之前我们在使用Spring MVC的时候,DispatcherServlet是必须要要在 阅读全文
posted @ 2021-12-10 09:59 残城碎梦 阅读(533) 评论(0) 推荐(0) 编辑
摘要:直接区别 直面意思:Bean工厂、工厂Bean。 BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。 Facto 阅读全文
posted @ 2021-12-09 21:44 残城碎梦 阅读(309) 评论(0) 推荐(0) 编辑
摘要:Spring的工具类ConfigurationClassParser用于分析@Configuration注解的配置类,产生一组ConfigurationClass对象。它的分析过程会接受一组种子配置类(调用者已知的配置类,通常很可能只有一个),从这些种子配置类开始分析所有关联的配置类,分析过程主要是 阅读全文
posted @ 2021-12-09 18:11 残城碎梦 阅读(96) 评论(0) 推荐(0) 编辑
摘要:在Spring3.0以后,官方推荐我们使用注解去驱动Spring应用。那么很多人就一下子懵了,不需要xml配置文件了,那我的那些配置项怎么办呢? @Configuration是Spring3.0推出来的注解,用来代替xml配置文件。若一个Class类被标注了这个注解,我们就认为这个类就是一个配置类, 阅读全文
posted @ 2021-12-09 13:12 残城碎梦 阅读(459) 评论(1) 推荐(2) 编辑
摘要:在Spring Framework里的spring-core核心包里面,有个org.springframework.util包,里面有不少非常实用的工具类。 该工具包里面的工具类虽然是被定义在Spring下面的,但是由于Spring框架目前几乎成了JavaEE实际的标准了,因此我们直接使用也是无妨的 阅读全文
posted @ 2021-12-09 08:20 残城碎梦 阅读(336) 评论(0) 推荐(0) 编辑
摘要:这篇文章主要讲解Spring IOC容器的主要内容:Bean的实例化、初始化。 通过之前跟踪Spring IOC刷新的源码,我们所有的剩余的单例Bean都是通过这一步:finishBeanFactoryInitialization(beanFactory);来进行初始化的。最重要的一个方法就为:De 阅读全文
posted @ 2021-12-08 23:38 残城碎梦 阅读(348) 评论(0) 推荐(2) 编辑
摘要:两种注入方式 第一种注入方式: 第二种注入方式: 结合策略设计模式 策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法,可以替代代码中大量的 if-else。 比如我们生活中的场景:买东西结账可以使用微信支付、支付宝支付或者银行卡支付,这些交易方式就是不同的策 阅读全文
posted @ 2021-12-07 08:57 残城碎梦 阅读(1997) 评论(0) 推荐(1) 编辑
摘要:FactoryBean是什么 FactoryBean是Spring提供的一个接口,通过实现这个接口可以定制实例化bean。 public interface FactoryBean<T> { //返回的对象实例 T getObject() throws Exception; //Bean的类型 Cl 阅读全文
posted @ 2021-11-23 09:33 残城碎梦 阅读(188) 评论(0) 推荐(0) 编辑
摘要:Spring的缓存机制 Spring的缓存不是一种具体的缓存实现方案,它底层需要依赖EhCache、Guava等具体的缓存工具。应用程序只要面向Spring缓存API编程,应用底层的缓存实现可以在不同的缓存之间自由切换,应用程序无须任何改变,只需要对配置略作修改即可。 启用Spring缓存 (1) 阅读全文
posted @ 2021-11-20 14:34 残城碎梦 阅读(5720) 评论(0) 推荐(1) 编辑
摘要:IDEA创建普通Project 1、打开idea软件,点击界面上的Create New Project 或file-》new-》project; 2、出现以下界面,选中Java,然后选择jdk,最后点击Next,进行下一步(我的是jdk1.8) 3、这里是选择生成项目时是否创建java文件,勾选上J 阅读全文
posted @ 2021-09-26 22:17 残城碎梦 阅读(291) 评论(0) 推荐(0) 编辑
摘要:Servlet 3.0 之前,Servlet、Filter、Listener 这些组件都需要在 web.xml 中进行配置,3.0 之后开始不再需要 web.xml 这个配置文件了,所有的组件都可以通过代码配置或者注解来达到目的。 Servlet 3.0 开始提供了这 3 个注解来代替: @WebS 阅读全文
posted @ 2021-09-21 12:08 残城碎梦 阅读(204) 评论(0) 推荐(0) 编辑
摘要:AOP全名 Aspect-oriented programming 面向切面编程。 AOP的两种代理方式: 以AspectJ为代表的静态代理。 以Spring AOP为代表的动态代理。 基本术语 切面(Aspect) 切面是一个横切关注点的模块化,一个切面能够包含同一个类型的不同增强方法,比如说事务 阅读全文
posted @ 2021-09-05 15:49 残城碎梦 阅读(169) 评论(0) 推荐(0) 编辑
摘要:ServletContext JavaEE标准规定了,Servlet容器需要在应用项目启动时,给应用项目初始化一个ServletContext,作为公共环境容器存放公共信息。ServletContext中的信息都是由容器提供的。 举例:通过自定义ContextListener获取web.xml中配置 阅读全文
posted @ 2021-09-05 14:33 残城碎梦 阅读(118) 评论(0) 推荐(0) 编辑
摘要:Spring在TransactionDefinition接口中定义事务属性,其中就包括了事务的隔离级别和传播机制。 事务属性可以理解成事务的一些基本配置,描述了事务策略如何应用到方法上。事务属性包含了5个方面,如图所示: // 它的常用实现类为:DefaultTransactionDefinitio 阅读全文
posted @ 2021-08-08 09:22 残城碎梦 阅读(173) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示