我最近继承了一个由不同的人在不同时间编写的应用程序,并寻求如何标准化的指导.
我有一个弹簧注入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?
基本上我希望能够从我的代码中执行此操作: …
我正在使用基于注释的验证,但对于其中一种表单,我无法使用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)
两者都不起作用.
我需要连接到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="data source=C:\Users\Filipe\Desktop\trac.db"" 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
我需要打开一个我不知道的完整文件名的文件.
我知道文件名是这样的.
filename*esy
Run Code Online (Sandbox Code Playgroud)
我肯定知道在给定目录中只出现过一次此文件.
我有一个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精灵用于背景等重复图像?
谢谢,
我正在为一家关于安全问题的公司建立一个外联网.他们希望确保其用户正在浏览网站,并在其网络浏览器中启用私人浏览模式,以便不保留任何Cookie或历史记录.
我发现只有这个 http://jeremiahgrossman.blogspot.com/2009/03/detecting-private-browsing-mode.html 和 https://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的情况下做到这一点,如果可能的话.
我用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) 我正在运行以下程序,试图找出如何配置我的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) 大家好我正在做这样的事情 -
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实体框架并更新它.对不起,如果我在这里遗漏了一些东西,但这是我的方式一直在想它是否有一种简单的更新方式.谢谢.