08 2019 档案

摘要:Spring boot 应用可以添加依赖 来构建响应式 Web 应用程序。 内置响应式服务器 Spring Boot WebFlux 内置 Reactor Netty、Tomcat、Jetty 和 Undertow。默认端口是 8080。 WebFlux 的 CRUD 示例 Springboot W 阅读全文
posted @ 2019-08-20 01:24 O'Neal 阅读(850) 评论(0) 推荐(0) 编辑
摘要:使用 MyBatis 的 SqlSession MyBatis 的 提供了执行 SQL 语句、提交或回滚事务和获取映射器实例的方法。 SqlSession 由工厂类 SqlSessionFactory 来创建, SqlSessionFactory 又是构造器类 SqlSessionFactoryBu 阅读全文
posted @ 2019-08-19 01:36 O'Neal 阅读(638) 评论(0) 推荐(0) 编辑
摘要:1 字符串、数组、集合的转换 定义字符串数组 String[] strArr 1.1 字符串数组转集合 1.2 字符串集合转数组 1.3 字符串集合转逗号分隔的字符串 1.4 逗号分隔的字符串转字符串集合 1.5 对象集合转 Map 定义对象 Person 定义对象 Person 的集合 List 阅读全文
posted @ 2019-08-18 00:56 O'Neal 阅读(513) 评论(0) 推荐(0) 编辑
摘要:Springboot 使用外部 Tomcat 1.修改 pom.xml,改为打 war 包 2.将 Springboot 内置 tomcat 作用域改为 3.重写 SpringBootServletInitializer 4.maven 打包出 war 包后,放到 tomcat 的 webapps 阅读全文
posted @ 2019-08-17 01:33 O'Neal 阅读(435) 评论(0) 推荐(0) 编辑
摘要:以 Spring MVC 启动 Servlet 为例,其应用上下文为 ServletWebServerApplicationContext,继承了 GenericWebApplicationContext 的大部分方法,主要重写了 postProcessBeanFactory()、refresh() 阅读全文
posted @ 2019-08-16 00:25 O'Neal 阅读(1014) 评论(0) 推荐(0) 编辑
摘要:以使用静态方法 启动 Springboot 为例,启动流程主要分为 SpringApplication 的创建和运行两部分; 创建 1. 设置资源加载器,此处为空 2. 设置 Springboot 启动类 3. 根据类路径判断 web 类型,默认为 SERVLET Spring MVC 4. 读取每 阅读全文
posted @ 2019-08-15 01:26 O'Neal 阅读(610) 评论(0) 推荐(0) 编辑
摘要:SpringApplication 使用静态方法 使用构造器 使用 builder 1、失败分析器 初始化实现了 FailureAnalyzer 接口的失败分析器,可以在启动失败时,打印错误日志和解决操作方法。比如启动端口被占用时打印如下日志: 2、自定义 Banner 可以将 banner.txt 阅读全文
posted @ 2019-08-14 01:54 O'Neal 阅读(1022) 评论(0) 推荐(0) 编辑
摘要:JRebel 使用 JRebel 可以在修改代码后,动态重新加载修改的代码,免去了代码工程全量重建、重启的耗时流程,有效地提高开发者的效率。在 IDEA 的插件市场搜索 JRebel for IntelliJ 找到安装即可。 JRebel for IntelliJ 版本:2019.1.4 1、启用自 阅读全文
posted @ 2019-08-13 01:53 O'Neal 阅读(4909) 评论(0) 推荐(0) 编辑
摘要:refresh() 1. prepareRefresh() 刷新预处理 1. 设置容器状态为 active 2. 初始化属性配置,空方法,可以重写这个方法来自定义属性 3. 属性配置校验,也是空的 4. 缓存容器中早期事件监听器 2. obtainFreshBeanFactory() 获取 Bean 阅读全文
posted @ 2019-08-12 00:15 O'Neal 阅读(413) 评论(0) 推荐(0) 编辑
摘要:Spring 自定义了继承 JDK 事件监听器的接口 ,用来监听 Spring 应用程序中的事件;自定义了继承 JDK 事件对象的抽象类 ,用来表示 Spring 应用程序中的事件类型。容器启动刷新过程中,可以定义事件监听器,来监听应用程序上下文事件 ,它有四个具体的实现类: ,分别表示容器启动/刷 阅读全文
posted @ 2019-08-11 00:27 O'Neal 阅读(1270) 评论(0) 推荐(0) 编辑
摘要:启动事务 @EnableTransactionManagement 注解来启用事务能力。 参数解释 proxyTargetClass:默认为false,表示使用 JDK 的代理模式,true表示用 CGLib 的代理模式,仅在 mode 是 PROXY 时才有效。 mode:默认为PROXY,表示使 阅读全文
posted @ 2019-08-10 12:49 O'Neal 阅读(691) 评论(0) 推荐(0) 编辑
摘要:结合 "Spring 后置处理器源码" 和 "Spring Aware源码" ,再来看下 Spring AOP 的源码。 启动 AOP 使用 @EnableAspectJAutoProxy 这个注解来启用 AOP 的能力了。它使用 @Import 导入类 AspectJAutoProxyRegist 阅读全文
posted @ 2019-08-09 00:01 O'Neal 阅读(460) 评论(0) 推荐(0) 编辑
摘要:快速写一个 Spring AOP 实现类 1. 定义业务类,使用 @Service 注解加入 Spring 容器。 2. 定义切面类,使用 @Component 注解加入 Spring 容器,标注 @Aspect 表示此类为切面类,并给方法标注通知类型。 通知类型 前置通知 后置通知 返回通知 异常 阅读全文
posted @ 2019-08-08 00:55 O'Neal 阅读(265) 评论(0) 推荐(0) 编辑
摘要:通过实现 Aware 接口,可以在 Spring 启动时,调用接口定义的方法,将 Spring 底层的一些组件注入到自定义的 Bean 中。 下面列出了几个 Spring 在 Aware 接口基础上,进行扩展的接口,分别会在创建 Bean 时直接执行,或者通过 BeanPostProcessor 间 阅读全文
posted @ 2019-08-07 01:27 O'Neal 阅读(539) 评论(0) 推荐(0) 编辑
摘要:在《 "几种自定义Spring生命周期的初始化和销毁方法" 》最后一段描述了启动 Spring 容器过程中,初始化和销毁方法的执行时机,那么在 Spring 中是如何做到的呢? 注册主配置类 Spring 使用 指定主配置类,将其注册到 BeanFactory。除了主配置类,还会将一些基础的后置处理 阅读全文
posted @ 2019-08-06 01:30 O'Neal 阅读(1959) 评论(0) 推荐(0) 编辑
摘要:Java8 新增了 Optional 类,可以更加优雅地解决空指针的问题。 构造器 Optional 的构造器是私有的,不能通过 new 的方式来创建 Optional 对象,因此,Optional 提供了三个静态方法创建 Optional 对象,分别为 /`of(T value) ofNullab 阅读全文
posted @ 2019-08-05 00:50 O'Neal 阅读(346) 评论(0) 推荐(0) 编辑
摘要:Bean 的生命周期指的是 Bean 的创建、初始化、销毁的过程。Spring 提供了一些方法,可以让开发自定义实现在生命周期过程中执行一些额外操作。 1、在注解 @Bean 中指定初始化和销毁时执行的方法名。 2、实现初始化和销毁接口 InitializingBean、DisposableBean 阅读全文
posted @ 2019-08-04 00:31 O'Neal 阅读(2569) 评论(0) 推荐(1) 编辑
摘要:@Autowired 注解可以加在构造器、方法、参数、属性、注解类型上。如果有参构造器或 @Bean 注解方法只有一个入参,则可以省略 @Autowired 不写。 1、属性 2、构造器 3、方法 @Autowired 自动查找 Bean 的顺序 1. 根据 @Qualifier 指定的 Bean 阅读全文
posted @ 2019-08-03 11:28 O'Neal 阅读(515) 评论(0) 推荐(0) 编辑
摘要:通过在类上加注解 @ComponentScan 来扫描 Spring 的组件类。 @ComponentScan 的可选参数 basePackages:指定需要扫描的根包目录,其子目录也会被扫描,默认路径为 @ComponentScan 注解类目录,及其子目录 value:basePackages 的 阅读全文
posted @ 2019-08-02 01:39 O'Neal 阅读(3836) 评论(0) 推荐(0) 编辑
摘要:指定路径 使用 @PropertySource 指定配置文件路径,支持 properties 和 XML 的配置文件,但不支持 yml。 属性赋值 可以用注解 @Value 对属性直接赋值、${}获取配置文件的值、SPEL表达式 {}。 直接赋值: 读取配置文件: 指定默认值: 表示如果没有 的配置 阅读全文
posted @ 2019-08-01 01:15 O'Neal 阅读(1538) 评论(0) 推荐(0) 编辑

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