由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 有人用谷歌guice么?有个技术问题
相关主题
如何设计一个getAverage的功能。谁给科普一下 (转载)
什么是mock test?电面在线写code憋的想骂街
让大家了解工业界Java/J2EE面试题的难度Zhaoce及各大牛请进,有问题请教
问道OOD问题好吧, 我来客观评价一下JAVA
Jobs at SABIC Innovative Plastics (GE_Plastics)请教一道JavaScript 编程题
为什么要用spring和DImitbbs不让贴源代码吗
问一个java的函数调用问题本来想发个系统设计题的讨论
请教一道设计题请一个写网页在行的人做一个小项目
相关话题的讨论汇总
话题: identity话题: factory话题: inject话题: injection话题: guice
进入JobHunting版参与讨论
1 (共1页)
t******d
发帖数: 1383
1
就是construction的时候,injection还没完成,或者没开始,结果factory 调用制造
出来的object就差了一个参数,如何让injection早一点开始,或者在construction开
始之前开始。现在发现,其他的method,比如get,post,被调用的时候,injection是
完成了。这个初学,请指教
s*****r
发帖数: 43070
2
不去狗根本不用care,spring简洁明了

【在 t******d 的大作中提到】
: 就是construction的时候,injection还没完成,或者没开始,结果factory 调用制造
: 出来的object就差了一个参数,如何让injection早一点开始,或者在construction开
: 始之前开始。现在发现,其他的method,比如get,post,被调用的时候,injection是
: 完成了。这个初学,请指教

b**********5
发帖数: 7881
3
你给个code sample看看, 你这问题, 我读了, 不是很懂

【在 t******d 的大作中提到】
: 就是construction的时候,injection还没完成,或者没开始,结果factory 调用制造
: 出来的object就差了一个参数,如何让injection早一点开始,或者在construction开
: 始之前开始。现在发现,其他的method,比如get,post,被调用的时候,injection是
: 完成了。这个初学,请指教

t******d
发帖数: 1383
4
帅哥给个qq之类的么?还是就这里给你讨论?

【在 b**********5 的大作中提到】
: 你给个code sample看看, 你这问题, 我读了, 不是很懂
n***i
发帖数: 777
5
juice是run time dependency injection
如果你用了juice就不要用factory juice就是替代static factory的
你的object如果有参数dependency 而在runtime无法提供 action就会fail
你查查module都install对吗
其实juice挺好debug 一般报错说什么东西没有 你就把相应的module装一下
[在 tuchaoid (tcid) 的大作中提到:]
:就是construction的时候,injection还没完成,或者没开始,结果factory 调用制造
:出来的object就差了一个参数,如何让injection早一点开始,或者在construction开
:...........
z****e
发帖数: 54598
6
guice没人用的东西,不用浪费时间了
把spring整一整吧
guice的di不伦不类的,而且很不标准
跟业界规范完全不是一回事
spring虽然也不是那么标准,但是兼容标准
z****e
发帖数: 54598
7

guice网络上教程很少,因为用的人很少
类似的问题参考
http://www.tutorialspoint.com/spring/constructor_based_dependen

【在 b**********5 的大作中提到】
: 你给个code sample看看, 你这问题, 我读了, 不是很懂
t******d
发帖数: 1383
8
问题是公司现在用guice阿。

【在 z****e 的大作中提到】
: guice没人用的东西,不用浪费时间了
: 把spring整一整吧
: guice的di不伦不类的,而且很不标准
: 跟业界规范完全不是一回事
: spring虽然也不是那么标准,但是兼容标准

t******d
发帖数: 1383
9
我看看,等下给您消息。

制造
construction开

【在 n***i 的大作中提到】
: juice是run time dependency injection
: 如果你用了juice就不要用factory juice就是替代static factory的
: 你的object如果有参数dependency 而在runtime无法提供 action就会fail
: 你查查module都install对吗
: 其实juice挺好debug 一般报错说什么东西没有 你就把相应的module装一下
: [在 tuchaoid (tcid) 的大作中提到:]
: :就是construction的时候,injection还没完成,或者没开始,结果factory 调用制造
: :出来的object就差了一个参数,如何让injection早一点开始,或者在construction开
: :...........

b**********5
发帖数: 7881
10
你当我白痴? 我是用过guice的, 所以我可以看看他的问题.LZ把codesample 贴出来
, 我可以帮他看看。 但这里好多人, 好像CS都是国内读的? 他妈的好多问题都看不懂

【在 z****e 的大作中提到】
:
: guice网络上教程很少,因为用的人很少
: 类似的问题参考
: http://www.tutorialspoint.com/spring/constructor_based_dependen

相关主题
为什么要用spring和DI谁给科普一下 (转载)
问一个java的函数调用问题电面在线写code憋的想骂街
请教一道设计题Zhaoce及各大牛请进,有问题请教
进入JobHunting版参与讨论
t******d
发帖数: 1383
11
大牛我给你发了code了。怕违法泄密规定,就没这里发了。

不懂

【在 b**********5 的大作中提到】
: 你当我白痴? 我是用过guice的, 所以我可以看看他的问题.LZ把codesample 贴出来
: , 我可以帮他看看。 但这里好多人, 好像CS都是国内读的? 他妈的好多问题都看不懂

t******d
发帖数: 1383
12
大哥,这个就是code,然后呢,construction启动的时候,identity还是null,所以
factory出来的东西
里面没username的信息,但是GET被调用的时候,identity就有了value了,现在就是纠
结在这里。
@At("/api/xxx")
@Service
@JsonApi
public class RestApi extends AbstractRestApi {


private static final Log LOG = new Log();
private Client client;
private static final ObjectMapper mapper = new ObjectMapper();
private Identity identity;
@Inject
public RestApi(Identity identity, Factory factory,
@Named("url.api.xxx") String url){
this.identity = identity;//现在这里就是null,
if(this.identity.getUsername() != null) {
this.identity.setUsername(this.identity.getUsername().
toLowerCase());
}
if(this.identity.getAccountId() != null) {
this.identity.setAccountId(this.identity.getAccountId().
toLowerCase());
}
client = factory.make(identity.getUsername());
}

@Get
public Reply getBeacons() {
RestResponse response = new RestResponse();
String username = this.identity.getUsername();//到了这里,被call的
时候,identity才被inject,所以,构造的时候,factory没有办法make出来一个含有
有正确username value的client。

}

}

【在 t******d 的大作中提到】
: 大牛我给你发了code了。怕违法泄密规定,就没这里发了。
:
: 不懂

t******d
发帖数: 1383
13
re

不懂

【在 b**********5 的大作中提到】
: 你当我白痴? 我是用过guice的, 所以我可以看看他的问题.LZ把codesample 贴出来
: , 我可以帮他看看。 但这里好多人, 好像CS都是国内读的? 他妈的好多问题都看不懂

z****e
发帖数: 54598
14
你这个貌似有些不太对吧
你inject的这个product也就是identity这里
如何设置identity的参数,应该去factory中找
不应该在你这个api中找,api中的这个product其实只是一个引用
真正的product其实还没有生成啊
我看你的代码,这里inject的应该是每次call的时候
都要重新生成一个product对吧?
所以你把状态保存在你这个类里面是不是有点问题啊?
如果并发访问你这个restapi的话,你这个identity会有并发冲突的问题
z****e
发帖数: 54598
15
比如spring + hibernate
真正被inject的其实是hibernate的sessionfactory
而不是session,session是在每次调用的时候
从session factory那个reference中产生的
切记不要保存状态,像你这种就保存了identity的状态
并发时候,你这个identity就共用了
z****e
发帖数: 54598
16
你们公司没有人会用di的?看看是谁做的架构
到底怎么设计的,直接问他不就好了
能选到guice也是够奇芭的
t******d
发帖数: 1383
17
我对这个回答看得一半懂,一半还不理解。 我也是刚开始做web 和di。
product你指得是什么?我觉得你说得,inject是每次call的时候,我也发现了,所以
construct的时候,client没被生成好。到了后面,所以就给了username是null了。
如何设置identity的参数,应该去factory中找---这个不明白什么意思

【在 z****e 的大作中提到】
: 你这个貌似有些不太对吧
: 你inject的这个product也就是identity这里
: 如何设置identity的参数,应该去factory中找
: 不应该在你这个api中找,api中的这个product其实只是一个引用
: 真正的product其实还没有生成啊
: 我看你的代码,这里inject的应该是每次call的时候
: 都要重新生成一个product对吧?
: 所以你把状态保存在你这个类里面是不是有点问题啊?
: 如果并发访问你这个restapi的话,你这个identity会有并发冲突的问题

z****e
发帖数: 54598
18

这么说吧
你inject的东西,应该是component
这个在srping里面非常清晰
因为spring有四个annotation
@Component
@Controller
@Service
@DAO
这四个就是一般意义上的组件,component就是所有的总称
细化下去就是后面三个
你应该学习一下j2ee的三层模型
后面三个component分别对应三层中的一层
而component跟thread的区别就是所有的component都是被thread共享的
spring真正inject的就是这些component对象
而一般的话,component都是单子,只会实例化一个对象在内存里面
然后被多个threads共享
然后你需要知道多线程并发的问题
thread同时访问一个java对象的话,如果同时访问的是方法
ok,没问题,不需要synchronized,只要这个方法不在方法以外寄存状态
简单说就是所有这个方法用到的变量,对象什么的
都用参数的方式传入该方法,这样该方法就能够被共享
否则的话,会有并发冲突
你这边identity就被放在方法体以外的地方
那就不行,并发修改,你这里肯定出问题
a线程和b线程同时访问identity,肯定冲突了
所以你应该把identity部分变成component
然后你需要用identity的时候,再从这个component上造一个出来
我靠,敲字敲累了,解释多线程好麻烦

【在 t******d 的大作中提到】
: 我对这个回答看得一半懂,一半还不理解。 我也是刚开始做web 和di。
: product你指得是什么?我觉得你说得,inject是每次call的时候,我也发现了,所以
: construct的时候,client没被生成好。到了后面,所以就给了username是null了。
: 如何设置identity的参数,应该去factory中找---这个不明白什么意思

1 (共1页)
进入JobHunting版参与讨论
相关主题
请一个写网页在行的人做一个小项目Jobs at SABIC Innovative Plastics (GE_Plastics)
Seeking a couple of Java developers for Google Mountain Vi为什么要用spring和DI
贴个Moody's Analytics的financial engineer position.地点在S问一个java的函数调用问题
大家的offer工资都是这样的吗?请教一道设计题
如何设计一个getAverage的功能。谁给科普一下 (转载)
什么是mock test?电面在线写code憋的想骂街
让大家了解工业界Java/J2EE面试题的难度Zhaoce及各大牛请进,有问题请教
问道OOD问题好吧, 我来客观评价一下JAVA
相关话题的讨论汇总
话题: identity话题: factory话题: inject话题: injection话题: guice