Spring-Booot 下的线程和进程

@Component 注解

@component 把普通pojo实例化到spring容器中,相当于配置文件中的
@component有3个为扩展:
1、@controller 控制器(注入服务)
2、@service 服务(注入dao)
3、@repository dao(实现dao访问)

异步注解

在启动类*Application的上面添加@EnableAsync注解

在异步类的上面添加@Async

通常将异步执行的方法单独抽取成一个类方便阅读和避免调用方法的是对象本身,从而导致异步变成同步。具体一点就是spring容器在初始化时会将有AOP注解的类对象“替换”为代理对象,因此异步方法在同一类中会变成调用对象本身而非代理对象。

如果需要在一个类使用则需要通过上下文SpringUtil.getBean(获取本身)来获得代理对象。然后通过代理对象使用。

或者AopContext.currentProxy()获取当前代理对象,改对象和上面对象是同一个。

##超时处理
修改下异步方法的返回类型,原本返回空修改成返回Future