早上:测评+前端+改简历
①脚手架就是搭建代码的初始框架,通过使用脚手架可以把一个项目的代码框架复制过来
②如何将项目提交到git:首次需要在git创建一个项目仓库,并获得SSH,然后在IDEA上先在本地提交,然后提交到远程(期间需要你输入SSH,输入上去就行了),如果需要让你输入用户名和密码的话,用户名就是你的用户名,密码是访问令牌
下午去健身了
晚上:弄明白了异步线程执行任务和策略模式
①异步线程:通过FutureTask和ThreadPollExcutor来实现。这里以一个任务为例,阐述一下怎么实现的异步线程:
首先定义一个类,这个类要实现callalbe接口,然后把需要传入的参数作为有参构造传进去(在实际的业务中,可能需要根据参数查询所需内容),并在该类中重写call方法,把需要通过异步执行的任务写在call方法中,call方法的返回类型为业务返回的结果封装类。
然后把该类作为FutureTask的参数传入,并创建一个FutureTask对象
最后将该FutureTask对象通过ThreadPollExcutor.excutor(FutureTask对象)执行
最后我们需要获取异步执行的结果,通过FutureTask.get来阻塞获取(阻塞获取就是需要等到所有异步线程执行完,才继续执行后续的结果,其目的在于确保所有异步数据都能获取到)
②策略模式:首先定义一个策略接口(定义具体实现的方法),然后有很多的具体策略实现(重写实现方法并作具体的业务处理)。在实际的调用中,通过Map<String, IService>来注入,这是一种高级的Spring注入方式,它会将所有实现了ISerivce的类注入到Map中作为value,并且其所对应的key是类的Bean名(Bean名可以通过类中的Service注解来定义)。因此基于该Map,如果我们想要获取具体的实现类的话,便可以通过map.get(传入的参数,应该和Bean名一样,比如活动中的折扣方式字段)来获取,获取到类之后,便可以执行类的具体方法来实现业务逻辑,并获得结果