Netty 拭魅战:怎样编写一个麻小俱全的 Web 框架
然后我们必要在体系启动的时辰,扫描出全部被 @Bean 注解修饰的类,然后对这些类举办实例化,然后把实例化后的工具生涯在一个 Map 中即可,如下图所示: 代码很简朴,通过在指定路径下扫描出全部的类之后,把实例工具插手map中,可是对付已经插手的 bean 不能继承插手了,插手之后要获取一个 Bean 也很简朴了,直接通过 name 到 map 中去获取就可以了。 此刻我们已经把全部 @Bean 的工具打点起来了,那对付依靠到的其他的 bean 该怎样注入呢,换句话说就是将我们实例化好的工具赋值给 @Autowired 注解修饰的变量。 简朴点的做法就是遍历 beanMap,然后对每个 bean 举办搜查,看这个 bean 内里的每个 setter 要领和属性,假若有 @Autowired 注解,那就找到详细的 bean 实例之后将值塞进去。 setter注入field注入通过Aware获取BeanContextBeanContext 已经实现了,那怎么获取 BeanContext 的实例呢?想到 Spring 中有许多的 Aware 接口,每种接口认真一种实例的回调,好比我们想要获取一个 BeanFactory 那只要将我们的类实现 BeanFactoryAware 接口就可以了,接口中的 setBeanFactory(BeanFactory factory) 要领参数中的 BeanFactory 实例就是我们所必要的,我们只要实现该要领,然后将参数中的实例生涯在我们的类中,后续就可以直接行使了。 那此刻我就来实现这样的成果,起首界说一个 Aware 接口,全部其他必要回调塞值的接口都担任自该接口,如下所示:
接下来必要将 BeanContext 的实例注入到全部 BeanContextAware 的实现类中去。BeanContext 的实例很好获得,BeanContext 的实现类自己就是一个 BeanContext 的实例,而且可以将该实例配置为单例,这样的话全部必要获取 BeanContext 的处所都可以获取到统一个实例。 拿到 BeanContext 的实例后,我们就必要扫描出全部实现了 BeanContextAware 接口的类,并实例化这些类,然后挪用这些类的 setBeanContext 要领,参数就传我们拿到的 BeanContext 实例。 逻辑理清晰之后,实现起来就很简朴了,如下图所示: Cookie打点根基上全部的 web 容器城市有 cookie 打点的手段,那我们的 redant 也不能落伍。起首界说一个 CookieManager 的接口,焦点的操纵 cookie 的要领如下:
个中我只罗列了几个焦点的要领,其它有一些差异参数的重载要领,这里就不具体先容了。最要害的是两个要领,一个是读 Cookie 一个是写 Cookie 。 读 Cookie(编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |