问题列表 - 第27112页

命名单元和集成测试方法的最佳实践?

我最近继承了一个由不同的人在不同时间编写的应用程序,并寻求如何标准化的指导.

java unit-testing naming-conventions

17
推荐指数
3
解决办法
5723
查看次数

依赖注入你的单身人士

我有一个弹簧注入Dao的单例(简化如下):

public class MyService<T> implements Service<T> {
    private final Map<String, T> objects;
    private static MyService instance;

    MyDao myDao;

    public void set MyDao(MyDao myDao) {
        this. myDao = myDao;
    }

    private MyService() {
        this.objects = Collections.synchronizedMap(new HashMap<String, T>());
        // start a background thread that runs for ever
    }

    public static synchronized MyService getInstance() {
        if(instance == null) {
            instance = new MyService();
        }
        return instance;
    }

    public void doSomething() {
        myDao.persist(objects);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的spring配置可能如下所示:

 <bean id="service" class="MyService" factory-method="getInstance"/>
Run Code Online (Sandbox Code Playgroud)

但这将在启动期间实例化MyService.

是否有一种编程方式将MyDao依赖注入MyService,但没有spring管理MyService?

基本上我希望能够从我的代码中执行此操作: …

singleton spring dependency-injection

6
推荐指数
1
解决办法
7314
查看次数

Spring 3 MVC - 表单:错误没有显示错误

我正在使用基于注释的验证,但对于其中一种表单,我无法使用form:errors标记显示任何错误.当我调试方法时,我可以看到BindingResult有错误,但由于某种原因它没有显示在窗体上.我很困难,因为我已经把它用于其他形式,但由于某种原因,这种特殊形式存在问题.任何指针都非常感谢.

这是来自控制器的一些代码,我在控制器中也有copyCartForm作为@SessionAttribute:

@RequestMapping(params="action=Confirm Copy", method=RequestMethod.POST)
public String copyCart(@Valid CopyCart copyCartForm, BindingResult result) {
    if (result.hasErrors()) {
        logger.debug("errors in form" + result.toString());
        return "copyshoppingcart";
    } else {
                    ...
                    ...
        return "redirect:/home";
    }
}
Run Code Online (Sandbox Code Playgroud)

在JSP中我试过这个:

<form:errors path="*" cssClass="formError"/>
Run Code Online (Sandbox Code Playgroud)

以及:

<form:errors path="fieldName" cssClass="formError"/>
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.

spring-mvc spring-annotations

20
推荐指数
3
解决办法
3万
查看次数

ObjectContext ConnectionString Sqlite

我需要连接到Sqlite中的数据库,所以我下载并安装了System.Data.SQLite,并且设计师拖了我所有的表.

设计者用.创建了一个.cs文件

public class Entities : ObjectContext
Run Code Online (Sandbox Code Playgroud)

和3个构造函数:

1

public Entities() : base("name=Entities", "Entities")
Run Code Online (Sandbox Code Playgroud)

这个从App.config加载连接字符串,并正常工作.

App.config中

<connectionStrings>
    <add name="Entities" connectionString="metadata=res://*/Db.TracModel.csdl|res://*/Db.TracModel.ssdl|res://*/Db.TracModel.msl;provider=System.Data.SQLite;provider connection string=&quot;data source=C:\Users\Filipe\Desktop\trac.db&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
Run Code Online (Sandbox Code Playgroud)

第2

public Entities(string connectionString) : base(connectionString, "Entities")
Run Code Online (Sandbox Code Playgroud)

第3

public Entities(EntityConnection connection) : base(connection, "Entities")
Run Code Online (Sandbox Code Playgroud)

这是问题,我已经尝试过n配置,已经使用EntityConnectionStringBuilder来创建没有运气的连接字符串.

能指点我正确的方向!?

EDIT(1)

如果我使用de parameterless构造函数我可以做我的查询,但我需要更改连接字符串,我不能使用我的app.config中的那个.

如何构建有效的连接字符串?!

c# sqlite connection-string system.data.sqlite visual-studio-2010

5
推荐指数
1
解决办法
4666
查看次数

如果我只知道部分文件名,我如何打开文件?

我需要打开一个我不知道的完整文件名的文件.

我知道文件名是这样的.

filename*esy
Run Code Online (Sandbox Code Playgroud)

我肯定知道在给定目录中只出现过一次此文件.

excel vba excel-vba

10
推荐指数
1
解决办法
6万
查看次数

CSS - 精灵作为背景图像

我有一个Web应用程序,其性能我正在努力增强.为了做到这一点,我决定使用css sprites.我已将所有图像放在名为images.png的.png文件中.

CSS sprites适用于只显示一次图像的所有css类.但是,我的一些图像需要重复.例如,我有一个banner.png图像用于横幅背景.每当我设置background-repeat属性时,似乎图像不会重复.要显示我的CSS定义,这里它们是:

Before CSS Sprites
------------------
.ghwc {
  background-image: url(/images/layout/banner.png);
  background-repeat:repeat-x;
  color:White;
  width:300px;
}

After CSS Sprites
-----------------
.ghwc {
  background-image: url(/images/images.png);
  background-repeat:repeat-x;
  color:White; 
  background-position:60px 319px; 
  width:300px;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何将CSS精灵用于背景等重复图像?

谢谢,

css

5
推荐指数
1
解决办法
3439
查看次数

检测浏览器是否使用私密浏览模式

我正在为一家关于安全问题的公司建立一个外联网.他们希望确保其用户正在浏览网站,并在其网络浏览器中启用私人浏览模式,以便不保留任何Cookie或历史记录.

我发现只有这个 http://jeremiahgrossman.blogspot.com/2009/03/detecting-private-browsing-mode.htmlhttps://serverfault.com/questions/18966/force-safari-to-operate-in-私人模式和检测,该状态-从-A-Web服务器

理想的解决方案是使用no或minimal javascript.试图为所有浏览器和平台设置一个独特的cookie吗?有人这样做过吗?

谢谢!


更新

http://crypto.stanford.edu/~collinj/research/incognito/使用其他海报提到的浏览器fingerprinters的CSS访问技术 - 感谢提示.

我喜欢它,因为它小而优雅,但仍然希望能够在没有javascript的情况下做到这一点,如果可能的话.

html javascript browser security cookies

64
推荐指数
7
解决办法
7万
查看次数

我想关闭一个CFSocket

我用CFSocket创建了一个套接字.我的程序是正确的,但现在我想关闭套接字(客户端).有一个建筑?谢谢,抱歉我的英文XP

我的代码:

CFSocketRef s;
s = CFSocketCreate(
        NULL, 
        PF_INET,
        SOCK_STREAM, 
        IPPROTO_TCP, 
        kCFSocketDataCallBack, 
        AcceptDataCallback, 
        &context);
...
CFSocketConnectToAddress(s, address, 0);
...
//here i wanna close the socket
Run Code Online (Sandbox Code Playgroud)

sockets iphone objective-c

8
推荐指数
1
解决办法
2804
查看次数

在4GB iMac OSX 10.6.3 Snow Leopard(32位)上无法通过Java获取2542个Threads

我正在运行以下程序,试图找出如何配置我的JVM以获得我的机器可以支持的最大线程数.对于那些可能不知道的人,Snow Leopard附带Java 6.

我尝试使用默认值启动它,以及以下命令行,无论JVM选项设置为什么,我总是在线程2542处获得内存不足错误.

java TestThreadStackSizes 100000
java -Xss1024 TestThreadStackSizes 100000
java -Xmx128m -Xss1024 TestThreadStackSizes 100000
java -Xmx2048m -Xss1024 TestThreadStackSizes 100000
java -Xmx2048m -Xms2048m -Xss1024 TestThreadStackSizes 100000
Run Code Online (Sandbox Code Playgroud)

无论我通过什么,我得到相同的结果,在2542年内存不足错误

public class TestThreadStackSizes
{
    public static void main(final String[] args)
    {
        Thread.currentThread().setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
            public void uncaughtException(final Thread t, final Throwable e)
            {
                System.err.println(e.getMessage());
                System.exit(1);
            }
        });
        int numThreads = 1000;
        if (args.length == 1)
        {
            numThreads = Integer.parseInt(args[0]);
        }

        for (int i = 0; i < numThreads; i++)
        {
            try
            { …
Run Code Online (Sandbox Code Playgroud)

java memory windows macos multithreading

9
推荐指数
1
解决办法
9363
查看次数

如何更新记录而不在ADO.NET实体框架中再次选择该记录?

大家好我正在做这样的事情 -

void update(ClasstoUpdate obj)//obj is already having values to update...
{
  var data= (from i in Entityobject.ClasstoUpdate 
            where obj.Id==i.Id
            select i).FirstorDefault();
  data.Name="SomeCoolName";
  EntityObject.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我想在不再使用Id查询的情况下执行更新,是否有任何方法我只是将更新的对象传递给ADO.NET实体框架并更新它.对不起,如果我在这里遗漏了一些东西,但这是我的方式一直在想它是否有一种简单的更新方式.谢谢.

c# ado.net entity-framework

4
推荐指数
1
解决办法
2816
查看次数