<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fang_qiming的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fang_qiming</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fang_qiming]]></copyright><item><title><![CDATA[安装第三方库出现 Python version 2.7 required, which was not found in the registry]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/80008967</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/80008967</guid><author>fang_qiming</author><pubDate>Thu, 19 Apr 2018 18:27:03 +0800</pubDate><description><![CDATA[安装第三方库出现 Python version 2.7 required, which was not found in the registry建立一个文件 register.py 内容如下. 然后执行该脚本.import sys  
    
from _winreg import *  
    
# tweak as necessary  
version = sys.version[:3...]]></description><category></category></item><item><title><![CDATA[Spring 执行任务和任务计划]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/80000513</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/80000513</guid><author>fang_qiming</author><pubDate>Thu, 19 Apr 2018 10:58:26 +0800</pubDate><description><![CDATA[1.TaskExecutor类型  该接口有一个execute(Runnable task)方法，他根据线程池的语义和配置接受执行任务SimpleAsyncTaskExecutor 此实现不重用任何线程，他会为每个调用都启用一个新线程，但是他支持一个并发限制，他将阻止任何超过该限制的调用，直到一个插槽被释放为止。ConcurrentTaskExecutor 此实现是 java.util.concu...]]></description><category></category></item><item><title><![CDATA[Spring 事务管理 4种隔离级别]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79963815</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79963815</guid><author>fang_qiming</author><pubDate>Mon, 16 Apr 2018 18:00:34 +0800</pubDate><description><![CDATA[数据库事务的隔离级别有如下几种public enum Isolation {
    DEFAULT(-1),
    READ_UNCOMMITTED(1),
    READ_COMMITTED(2),
    REPEATABLE_READ(4),
    SERIALIZABLE(8);

    private final int value;

    private Isolatio...]]></description><category></category></item><item><title><![CDATA[Spring 事务管理 事务的传播级别]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79957245</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79957245</guid><author>fang_qiming</author><pubDate>Mon, 16 Apr 2018 17:35:13 +0800</pubDate><description><![CDATA[例子：对于默认的传播级别 REQUIRED 的测试首先对于 REQUIRED 的解释如下: 默认事务类型，如果没有，就新建一个事务；如果有，就加入当前事务，也就是大家都使用同一个事务模型，只要有一个发生了异常，那么整个事务都会回滚。其中对于发生异常导致事务回滚需要注重理解，否则对于REQUIRES_NEW 就会认为某些行为与预先的不一样。下面针对 REQUIRES_NEW  的测试如下：@Serv...]]></description><category></category></item><item><title><![CDATA[Spring mvc 之 AbstractHttpMessageConverter 自定义Http消息转化器]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79927708</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79927708</guid><author>fang_qiming</author><pubDate>Fri, 13 Apr 2018 14:20:12 +0800</pubDate><description><![CDATA[场景：获取网络数据时，发现如下错误{
  &quot;timestamp&quot;: &quot;2018-04-13T05:43:23.256+0000&quot;,
  &quot;status&quot;: 500,
  &quot;error&quot;: &quot;Internal Server Error&quot;,
  &quot;exception&quot;: &quot;feign.codec.DecodeException&quot;,
  &quot;message&quot;]]></description><category></category></item><item><title><![CDATA[Spring mvc 之WebMvcConfigurerAdapter 对mvc的自定义]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79927690</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79927690</guid><author>fang_qiming</author><pubDate>Fri, 13 Apr 2018 13:41:06 +0800</pubDate><description><![CDATA[@Configuration
//启用配置
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

    /**
     * 注册自定义格式化程序和转换器
     * 详细见Formatter
     *
     * @param registry
     */
    @Override
    ...]]></description><category></category></item><item><title><![CDATA[Spring Http流 (服务端推送技术)]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79911247</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79911247</guid><author>fang_qiming</author><pubDate>Thu, 12 Apr 2018 11:32:05 +0800</pubDate><description><![CDATA[ */
@RestController
public class TestController {

    /**
     * HTTP 流 用于在Http相应中同时推送多个事件
     * 该对象可以被用于发送多个对象，
     * 通常我们使用到的@ResponseBody只能返回一个对象
     * 访问http://127.0.0.1:8886/get6 客户端等待，
     ...]]></description><category></category></item><item><title><![CDATA[Spring mvc 异步调用 Callable DeferredResult]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79908940</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79908940</guid><author>fang_qiming</author><pubDate>Thu, 12 Apr 2018 11:01:33 +0800</pubDate><description><![CDATA[Spring MVC 3.2开始引入了基于Servlet3的异步请求处理，相比以前，控制器方法已经不一定需要一个值，而是可以直接返回一个Callable对象，并通过Spring MVC所管理的线程来产生返回值，与此同时，Servlet容器的主线程则可以退出并释放其资源，同时也允许容器去处理其它请求。通过一个TaskExecutor，Spring MVC可以在另外的线程中调用Callable。当Ca...]]></description><category></category></item><item><title><![CDATA[Spring @ControllerAdvice与@RestControllerAdvice注解]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79907979</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79907979</guid><author>fang_qiming</author><pubDate>Thu, 12 Apr 2018 10:00:50 +0800</pubDate><description><![CDATA[@ControllerAdvice是组件注解，他使得其实现类能够被classpath扫描自动发现，如果应用是通过MVC命令空间或MVC Java编程方式配置，那么该特性默认是自动开启的。注解@ControllerAdvice的类可以拥有@ExceptionHandler, @InitBinder或 @ModelAttribute注解的方法，并且这些方法会被应用到控制器类层次的所有@RequestM...]]></description><category></category></item><item><title><![CDATA[Spring 3 对JSR-303/JSR-349的验证支持]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79896465</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79896465</guid><author>fang_qiming</author><pubDate>Wed, 11 Apr 2018 16:17:00 +0800</pubDate><description><![CDATA[Sring 3 完全支持JSR-303 Bean的验证API，当编程使用验证时，Spring的DataBinder可以验证对象并绑定他们，最后Spring MVC现在支持在@COntroller中输入验证内容。例子：1.编写VO对象并设置验证规则package com.test.entity.vo;

import lombok.Data;
import javax.validation.cons...]]></description><category></category></item><item><title><![CDATA[Spring  Formatter&amp;amp;lt;T&amp;amp;gt; 对Spring MVC接受的参数格式化]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79895182</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79895182</guid><author>fang_qiming</author><pubDate>Wed, 11 Apr 2018 13:50:27 +0800</pubDate><description><![CDATA[Formatter和Converter一样，也是将一种类型转换成另一种类型。但是，Formatter的源类型必须是一个String。在使用时，必须编写一个实现org.springframework.format.Formatter接口的java类。这个接口的声明如下注意点就是：此Formatter的应用场景多在Spring MVC中接受String的值将其转化为相应的Java对象public in...]]></description><category></category></item><item><title><![CDATA[Spring 3提供的 core.convert 类型转换]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79884617</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79884617</guid><author>fang_qiming</author><pubDate>Tue, 10 Apr 2018 19:15:23 +0800</pubDate><description><![CDATA[Spring 3介绍的core.convert包提供了对通用类型的转换，它定义了SPI来实现类型转换逻辑，以及在运行时执行类型转换的API，在Spring系统中，此系统可用用作PropertyEditors的替代方法，他将外部bean属性字符串转换为所需的属性类型，公共API可以在任何需要类型转换的应用程序中使用。a.converter的使用  例子：https://blog.youkuaiyun.com/f...]]></description><category></category></item><item><title><![CDATA[Spring  PropertyEditor自定义属性编辑器]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79881720</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79881720</guid><author>fang_qiming</author><pubDate>Tue, 10 Apr 2018 15:48:02 +0800</pubDate><description><![CDATA[Spring 使用PropertyEditors的接口来实现对象和字符串之间的转换，比如将 2007-14-09转化为日期类型等，可以通过注册自定义编辑器来实现此功能Spring使用了属性编辑的例子1.在bean上设置属性是使用PropertyEditors完成的，当遇到java.lang.String作为XML文件中声明某个bean的属性值时，Spring将使用ClassEditor尝试将参数解...]]></description><category></category></item><item><title><![CDATA[Spring  BeanWrapper]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79879953</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79879953</guid><author>fang_qiming</author><pubDate>Tue, 10 Apr 2018 13:39:12 +0800</pubDate><description><![CDATA[BeanWrapper 提供了设置和获取属性值(批量或单独)获取属性描述符以及查询属性以确定他们是可读还是可写的功能。1.定义测试bean@Data
public class Company {

    private String name;

    private Person person;
}@Data
public class Person {

    private String...]]></description><category></category></item><item><title><![CDATA[Spring  数据校验]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79879546</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79879546</guid><author>fang_qiming</author><pubDate>Tue, 10 Apr 2018 12:47:30 +0800</pubDate><description><![CDATA[1.定义需要校验的类@Data
public class Person {

    private String name;

    private int age;
}
2.编写校验器@Component
public class PersonValidator implements Validator {
    @Override
    public boolean supports(...]]></description><category></category></item><item><title><![CDATA[Spring  事件通知]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79849394</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79849394</guid><author>fang_qiming</author><pubDate>Sun, 08 Apr 2018 11:20:44 +0800</pubDate><description><![CDATA[Spring事件通知1.编写自定义的事件载体对象/**
 * @Author:qmfang
 * @Description: 继承自事件对象，表明将其作为一个事件通知对象
 * @Date:Created in 10:35 2018/4/8
 * @Modified By:
 */
@Data
public class BlackListEvent extends ApplicationEvent...]]></description><category></category></item><item><title><![CDATA[Spring Ioc 基于Java的容器配置]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79821422</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79821422</guid><author>fang_qiming</author><pubDate>Sat, 07 Apr 2018 14:36:10 +0800</pubDate><description><![CDATA[@Bean和@Configuration注解Spring中基于Java配置的核心内容是@Configuration注解的类和@Bean注解的方法@Bean注解用于表名方法的实例化，配置和初始化都是由Spring Ioc容器管理的新对象，就像在XML配置的元素一样，开发者可以在任意的Spring @Component中使用@Bean注解方法，但是大多数情况下@Bean是配合@Configuratio...]]></description><category></category></item><item><title><![CDATA[spring Ioc 对象注入 注解]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79816449</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79816449</guid><author>fang_qiming</author><pubDate>Wed, 04 Apr 2018 19:32:13 +0800</pubDate><description><![CDATA[@Service 用于注解服务@Component 用于注解元数据@Controller    用来注解controller@Repository 用来注解持久层 同时其能自动转换异常元注解：一种可用于别的注解之上的注解，例如@Service注解是使用@Component元注解的 @Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNT...]]></description><category></category></item><item><title><![CDATA[Spring Ioc 容器扩展点3 使用FactoryBean自定义初始化逻辑]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79756572</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79756572</guid><author>fang_qiming</author><pubDate>Fri, 30 Mar 2018 14:22:51 +0800</pubDate><description><![CDATA[为自己工厂的对象实现FactoryBean接口FactoryBean接口就是Spring IOC容器实例化逻辑的可插拔点，如果你的初始化代码非常复杂，那么相对于潜在的大量详细的XML而言，最好是使用Java语言来表达，你可以创建自定义的FactoryBean，在该类中编写复杂的初始化代码，然后将自定义的FactoryBean插入到容器中，FactoryBean接口提供下面三个方法：1.Object...]]></description><category></category></item><item><title><![CDATA[Spring Ioc 容器扩展点2 BeanFactoryPostProcessor自定义元数据配置]]></title><link>https://blog.youkuaiyun.com/fang_qiming/article/details/79753369</link><guid>https://blog.youkuaiyun.com/fang_qiming/article/details/79753369</guid><author>fang_qiming</author><pubDate>Fri, 30 Mar 2018 12:23:15 +0800</pubDate><description><![CDATA[这个接口的语义与BeanPostProcessor类似，但有一处不同，BeanFactoryPostProcessor操作bean的元数据配置，也就是说，Spring IOC容器允许BeanFactoryPostProcessor来读取元数据配置并在容器实例化任何bean（除了BeanFactoryPostProcessor）之前修改他。开发者可以配置多个BeanFactoryPostProces...]]></description><category></category></item></channel></rss>