java内部实体类可以在org.里获取指定组件的相关方法
java内部实体类可以在org.springframework.context.action的contextfactory里管理。contextfactory可以获取指定组件的相关context级api,如:contextfactory.getbeanname()。然后可以分析userinfo、usercontroller的实例构造函数,然后分析过程中包含的相关动作。实现的具体方法是本文的重点。userinfo/usercontrollerjava代码如下:。
1、获取spring容器里,主体action的实例
2、contextfactory可以获取主体action的相关context级apicontextfactory.getbeanname()spring容器会匹配出相应的contextapi,如://当org.springframework.context.action已经获取到spring容器中的实例publicclassusercontrollerimplementsuserinfocontroller{privateusername;privateuserpassword;publicusercontroller(username,userpassword){this.username=username;this.password=password;}publicvoiddecorate(){system.out.println("decorate");}}publicclassorg.springframework.contextfactoryimplementsactioncontextfactory{@overridepublicuserinfo(username,userpassword){this.username=username;this.password=password;}@overridepubliccontextfactorycreatecontext(){returnthis;}}上面代码可以让我们用"配置文件"加载context中配置。
实际上这样的代码在springmvc里是可以通过[context.createcontext()]这样的方式来完成的,但如果是自己写springmvc项目就显得麻烦一些。很可能是由于org.springframework.context.action的设计者对这些api的异同没有太大认识。有些api的设计者可能用于配置springmvcjava内部实体类可以,有些api的设计者可能用于配置webflux或基于类的语言。那么这些api之间到底有什么不同,在使用中又应该注意哪些呢。
1、关于动作运行时,其实是有有两套不同的api的,主要是关于userinfo和usercontroller的。其中action的api主要是tomcat转发到web服务器的时候处理java内部实体类可以,top等web服务器处理。而userinfo的api是双向获取的。contextfactory.getbeanname()可以获取到userinfo对象,可以具体到:user()、userid()、password(),这三个都是抽象的,只有具体到springmvc或webflux具体处理才有意义。
2、关于todolist。其实在这方面的api也是有异同的。contextfactory.getbeanname()没有具体实现方法,只有匹配的api,contextfactory.getclass()会拿到具体对象。相比之下contextfactory.getuserinfo()匹配的api就要多一些。主要来源于springmvc的处理情况不同。contextfactory。
本文系作者 @河马 原创发布在河马博客站点。未经许可,禁止转载。
暂无评论数据