package com.edurt.sli.guice.multiple;
public class JavaService implements Service {
@Override
public void print(String source) { System.out.println("Java Service " + source); } }
package com.edurt.sli.guice.multiple;
public class GuiceService implements Service {
@Override
public void print(String source) { System.out.println("Guice Service " + source); } }
package com.edurt.sli.guice.multiple;
import com.google.inject.Guice;
import com.google.inject.Inject;
public class ApplicationMultipleProperty {
@Inject public Service java;
@Inject public Service guice;
public static void main(String[] args) { ApplicationMultipleProperty application = Guice.createInjector(binder -> { binder.bind(Service.class).annotatedWith(Java.class).to(JavaService.class); binder.bind(Service.class).annotatedWith(com.edurt.sli.guice.multiple.Guice.class).to(GuiceService.class); }).getInstance(ApplicationMultipleProperty.class); application.guice.print("sss"); application.java.print("sss"); }
}
运行以上代码,就会出现以下错误
Exception in thread "main" com.google.inject.ConfigurationException: Guice configuration errors:
1) No implementation for com.edurt.sli.guice.multiple.Service was bound.
Did you mean? * com.edurt.sli.guice.multiple.Service annotated with interface com.edurt.sli.guice.multiple.Java * com.edurt.sli.guice.multiple.Service annotated with interface com.edurt.sli.guice.multiple.Guice while locating com.edurt.sli.guice.multiple.Service for field at com.edurt.sli.guice.multiple.Application.guice(Application.java:6) while locating com.edurt.sli.guice.multiple.Application
2) No implementation for com.edurt.sli.guice.multiple.Service was bound.
Did you mean? * com.edurt.sli.guice.multiple.Service annotated with interface com.edurt.sli.guice.multiple.Java * com.edurt.sli.guice.multiple.Service annotated with interface com.edurt.sli.guice.multiple.Guice while locating com.edurt.sli.guice.multiple.Service for field at com.edurt.sli.guice.multiple.Application.java(Application.java:6) while locating com.edurt.sli.guice.multiple.Application
2 errors
at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1120) at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1078) at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1131) at com.edurt.sli.guice.multiple.Application.main(Application.java:18)
在系统运行后,在线程快照里总是看到线程池的名字为pool-xx,这样导致很不好定位,怎么给线程池一个有意义的名字呢。参照ThreadPoolExecutor类的ThreadFactory,自己实现ThreadFactory接口,重写newThread方法即可。参考代码如下:
public class Named
错误: IE 中"HTML Parsing Error:Unable to modify the parent container element before the child element is closed"
现象: 同事之间几个IE 测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是BeanFactoryPostProcessor接口的一个实现。关于BeanFactoryPostProcessor和BeanPostProcessor类似。我会在其他地方介绍。PropertyPlaceholderConfigurer可以将上下文(配置文件)中的属性值放在另一个单独的标准java P
创建一个类
public class ContextInitListener implements ServletContextListener
使得该类成为一个监听器。用于监听整个容器生命周期的,主要是初始化和销毁的。
类创建后要在web.xml配置文件中增加一个简单的监听器配置,即刚才我们定义的类。
<listener>
<des
http://developer.apple.com/iphone/library/qa/qa2009/qa1649.html
Excerpt:
You are getting this warning because you probably added your Info.plist file to your Copy Bundle
hi,
自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。
WITH tempT AS (
SELECT
item_id AS combo_id,
item_id,
now() AS create_date
FROM
a