随笔 - 1162
文章 - 0
评论 - 16
阅读 -
59万
随笔分类 - Spring注解驱动
Spring注解驱动开发
27(三)Web模块:【7】SpringMVC异步请求
摘要:一、SpringMVC 异步请求-返回 Callable @Controllerpublic class AsyncController { /** * 1、控制器返回Callable * 2、Spring异步处理,将Callable 提交到 TaskExecutor 使用一个隔离的线程进行执行 *
阅读全文
26(三)Web模块:【6】定制与接管 SpringMVC
摘要:一、配置文件方式 以前在使用 SpringMVC 时,我们可以在配置文件中进行配置: 例如: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:
阅读全文
25(三)Web模块:【5】Servlet3.0 与 SpringMVC 整合
摘要:一、SpringMVC 对 ServletContainerInitializer 类的实现 配置信息: 查看 SpringServletContainerInitializer //感兴趣的类为WebApplicationInitializer@HandlesTypes(WebApplicatio
阅读全文
24(三)Web模块:【4】Web3.0 新特性之支持web模块
摘要:一、Web 模块支持 Servlet3.0 新增的可插性(Pluggability)支持则将 Servlet 配置的灵活性提升到了新的高度。使用该特性,现在我们可以在不修改已有 Web 应用的前提下,只需将按照一定格式打包成的 JAR 包放到 WEB-INF/lib 目录下,即可实现新的功能的扩充,
阅读全文
23(三)Web模块:【3】Servlet3.0 新特性之 ServletContainerInitializer
摘要:一、ServletContainerInitializer 1、来到 jcp 官网:https://www.jcp.org/en/home/index 2、搜索 servlet,然后下载文档 3、重点看 8.2.4 Shared libraries / runtimes pluggability 章
阅读全文
22(三)Web模块:【2】Web3.0 新特性之异步处理
摘要:一、servlet3.0 异步处理 在 Servlet 3.0 之前,Servlet 采用 Thread-Per-Request 的方式处理请求。即每一次 Http 请求都由某一个线程从头到尾负责处理。 如果一个请求需要进行 IO 操作,比如访问数据库、调用第三方服务接口等,那么其所对应的线程将同步
阅读全文
21(三)Web模块:【1】Web3.0 新特性之使用注解开发
摘要:一、servlet3.0 新特性 想要使用 servlet3.0 新特性必须使用 Tomcat7 及以上版本。 Servlet3.0 新增特性: (1)注解支持;Servlet、Filter、Listener 无需在 web.xml 中进行配置,可以通过对应注解进行配置; (2)支持 Web 模块;
阅读全文
20(二)扩展原理:【4】Spring源码—IOC容器创建过程
摘要:Spring 源码跟踪—IOC 容器创建过程 Spring 容器的 refresh()【创建刷新】;1、prepareRefresh()刷新前的预处理; (1) initPropertySources() 初始化一些属性设置;子类自定义个性化的属性设置方法; (2) getEnvironment()
阅读全文
19(二)扩展原理:【3】ApplicationListener
摘要:一、ApplicationListener 接口 ApplicationListener:监听容器中发布的事件。事件驱动模型开发; public interface ApplicationListener<E extends ApplicationEvent> 监听 ApplicationEvent
阅读全文
18(二)扩展原理:【2】BeanDefinitionRegistryPostProcessor
摘要:一、BeanDefinitionRegistryPostProcessor 接口 BeanDefinitionRegistryPostProcessor 继承结构: BeanDefinitionRegistryPostProcessor extends BeanFactoryPostProcesso
阅读全文
17(二)扩展原理:【1】BeanFactoryPostProcessor
摘要:一、BeanFactoryPostProcessor 接口 BeanFactoryPostProcessor:BeanFactory 的后置处理器 作用: 在 BeanFactory 标准初始化之后调用,来定制和修改 BeanFactory 的内容; 所有的 bean 定义信息已经保存加载到 bea
阅读全文
16(一)AOP:【2】事务原理
摘要:事务原理: 原理: 1)、@EnableTransactionManagement 注解 利用 TransactionManagementConfigurationSelector 给容器中会导入组件 导入两个组件: AutoProxyRegistrar ProxyTransactionManage
阅读全文
15(一)AOP:【1】事务案例
摘要:一、声明式事务环境搭建 1、导入依赖 导入相关依赖:数据源、数据库驱动、spring-jdbc 模块 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>$
阅读全文
14(一)AOP:【2】AOP 原理【困难】
摘要:AOP 原理 AOP 原理:【看给容器中注册了什么组件,这个组件什么时候工作,这个组件的功能是什么?】 @EnableAspectJAutoProxy 原理: 1、@EnableAspectJAutoProxy 是什么? @Import(AspectJAutoProxyRegistrar.class
阅读全文
13(一)AOP:【1】AOP 应用案例
摘要:一、AOP AOP:【动态代理】 指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式。 二、AOP 应用 导入 AOP 模块,Spring AOP:(spring-aspects) 定义一个业务逻辑类,在业务逻辑运行的时候将日志进行打印,在方法之前、方法运行结束、方法异常都有打
阅读全文
12(一)IOC 容器:【12】@Profile 指定环境
摘要:一、@Profile Spring 为我们提供的可以根据当前环境,动态的激活和切换一系列 组件的 功能。 例如:开发环境、测试环境、生产环境 不同的环境连接到不同的数据源:(/A)(/B)(/C) 以测试数据源为例: (1)编写配置文件 db.properties db.user=root db.p
阅读全文
11(一)IOC 容器:【11】Aware 注入Spring底层组件
摘要:一、Aware 注入 Spring 底层组件 自定义组件想要使用Spring容器底层的一些组件(ApplicationContext,BeanFactory,xxx) 自定义组件实现 xxxAware:在创建对象的时候,会调用接口规定的方法,注入相关组件 Aware Aware把Spring底层一些
阅读全文
10(一)IOC 容器:【10】@Autowired 自动装配
摘要:一、自动装配 Spring 利用依赖注入(DI),完成对 IOC 容器中各个组件的依赖关系赋值。 二、@Autowired 自动注入 1、按照类型 默认优先按照类型去容器中找对应的组件:`applicationContext.getBean(BookDao.class);`` @Servicepub
阅读全文
09(一)IOC 容器:【9】@Value 给属性赋值
摘要:一、配置文件的赋值 调用无参构造器给容器中注册一个 Bean 组件: @Configurationpublic class MainConfigOfPropertyValues { @Bean(name = "person") public Person person01() { return ne
阅读全文
08(一)IOC 容器:【8】Bean组件的生命周期
摘要:一、Bean 的生命周期 Bean 的生命周期是指:bean 创建 > 初始化 > 销毁的过程Spring 中是由 IOC 容器管理 bean 的生命周期,我们可以自定义初始化和销毁方法,容器在 bean 进行到当前生命周期的时候来调用我们自定义初始化方法和销毁方法。1、构造方法(对象创建) 单实例
阅读全文