我有一个Enum课程
public enum MyEnum{
ABC;
}
Run Code Online (Sandbox Code Playgroud)
比我的'Mick'班有这个属性
private Map<MyEnum, OtherObj> myMap;
Run Code Online (Sandbox Code Playgroud)
我这个春天的xml配置.
<util:map id="myMap">
<entry key="ABC" value-ref="myObj" />
</util:map>
<bean id="mick" class="com.x.Mick">
<property name="myMap" ref="myMap" />
</bean>
Run Code Online (Sandbox Code Playgroud)
这很好.
我想用Spring注释替换这个xml配置.
您对如何自动装配地图有任何想法吗?
这里的问题是,如果我从xml配置切换到@Autowired注释(在Mick类的myMap属性上),Spring会抛出此异常
nested exception is org.springframework.beans.FatalBeanException: Key type [class com.MyEnum] of map [java.util.Map] must be assignable to [java.lang.String]
Run Code Online (Sandbox Code Playgroud)
Spring不再能够将字符串ABC识别为MyEnum.ABC对象.
任何的想法?
谢谢
DateTime - JDK Calendar
DateMidnight的不可变替换 - 表示时间强制为午夜的不可变类
LocalDateTime - 表示本地日期和时间的不可变类(无时区)
我想知道你是如何在分层应用程序中使用这些类的.
我看到几乎所有接口都使用LocalDateTime(至少在服务层)的优势,这样我的应用程序就不必管理时区,并且可以安全地假设时间始终为UTC.然后,我的应用程序可以在执行流程的最开始使用DateTime来管理时区.
我也想知道DateMidnight在哪种情况下有用.
默认情况下,在构建过程中,maven会删除空目录.
你知道是否可以在pom中指定一个参数来指示maven在生成的target/test-classes文件夹中包含空目录吗?
我有一个可用于上传文件的网页.
现在我需要检查文件类型是否正确(zip,jpg,pdf,...).
我可以使用请求附带的mimeType,但我不信任用户,让我们说我想确保没有人能够上传以.jpg重命名的.gif文件
我认为在这种情况下我应该检查神奇的数字.
这是一个我发现的java库,似乎实现了我需要的'从幻数中提取mimetype'.
这是一个正确的解决方案还是你的建议?
更新:
我找到了mime-util项目,它似乎非常好并且是最新的!(也许比Java Mime Magic Library更好?)
这是一个可以帮助你提取mime类型的实用程序项目列表
我将有3个Tomcat服务器和一个负载均衡器,可以在不使用" 粘性会话 "的情况下调度请求.
我想在服务器之间共享会话数据,我正在考虑将它们保存在数据库中.我想在我的数据库前面使用memcached作为一个层来更快地处理请求,并且不要让我的数据库负载很重.
我正在考虑提供我的自定义tomcat管理器,它在获取/持久化会话数据到DB之前使用memcached,因为我没有看到这样做的透明方式(这意味着我将不得不再次管理它)我切换到另一个应用程序服务器).
这是一个很好的解决方案还是你看到了更好的方法?
这是一个常见问题.我正在使用2个库A.jar和B.jar,这些库依赖于同一个jar的不同版本.
假设在运行时我需要THIS.xxxjar
MY.jar
-> A.jar -> THIS.1.0.0.jar
-> B.jar -> C.jar -> THIS.5.0.0.jar
Run Code Online (Sandbox Code Playgroud)
我可以针对它的依赖编译特定的jar(A.jar/B.jar)但是在运行时我只能加载1个版本.哪一个?
仅加载1个依赖项(最新版本)意味着如果库不是向后兼容的,那么我的代码可能会抛出运行时异常(那里有向后兼容的库吗?).
无论如何,我知道像OSGi这样的东西可以解决这个问题.
我想知道解决这类问题的旧方法是什么......
非常感谢
我有这个字符串
String myString ="A~BC~FGH~~zuzy|XX~ 1234~ ~~ABC~01/01/2010 06:30~BCD~01/01/2011 07:45";
Run Code Online (Sandbox Code Playgroud)
我需要提取这3个子串
1234
06:30
07:45
如果我使用这个正则表达式\\ d {2} \:\\ d {2}我只能提取第一个小时06:30
Pattern depArrHours = Pattern.compile("\\d{2}\\:\\d{2}");
Matcher matcher = depArrHours.matcher(myString);
String firstHour = matcher.group(0);
String secondHour = matcher.group(1); (IndexOutOfBoundException no Group 1)
Run Code Online (Sandbox Code Playgroud)
matcher.group(1)抛出异常.
另外我不知道如何提取1234.这个字符串可以改变,但它总是在'XX~'后面
你有没有想过如何匹配这些字符串与正则表达式?
UPDATE
感谢亚当的建议,我现在这个正则表达式匹配我的字符串
Pattern p = Pattern.compile(".*XX~ (\\d{3,4}).*(\\d{1,2}:\\d{2}).*(\\d{1,2}:\\d{2})";
Run Code Online (Sandbox Code Playgroud)
我匹配数字,与matcher.group(1)匹配2小时; matcher.group(2); matcher.group(3);
我在这方面读了一些帖子,但我仍然不明白在我的情况下什么是最好的解决方案.
我开始编写一个新的webApp,后端将提供大约1-10万个图像.(单张图片的平均尺寸为200-500kB)
我的网站将同时向100-1000个用户提供内容和图像.
我还希望尽可能降低提供商的成本(但这是次要要求).我认为与DB大小的成本相比,文件系统空间更便宜.
就个人而言,我喜欢将所有图像都放在数据库中,但任何建议都会非常感激:)
您认为在我的情况下DB方法是正确的选择吗?
我试图用Joda时间实现一个没有成功的Date迭代器.
我需要一些东西,允许我从startDate到endDate的所有日子迭代
您是否知道如何做到这一点?
我正在考虑在我的webapp上实现经典的"记住我"复选框,以便在他返回访问我的网站后让被认证的用户"记住".
Gmail,Facebook和其他人都有这种功能,但我不太确定它有多安全.
像Spring Security这样的Java框架使用"基于哈希的令牌方法".生成的令牌(使用用户名,密码,expirationTime和privateKey)存储在客户端的Cookie令牌= 567whatever567'中.然后重新使用该令牌以在下次回来时重新验证用户.
我担心的是,即使登录过程发生在https连接下,在每个后续的http请求中,cookie都将在网络上以未加密的方式发送.
基本上每个人都可以读取令牌并重复使用它进行身份验证.
我正试图了解Gmail或Facebook如何实现此功能.我可以在FB中看到一些像'presence = DJ267619445G09H0L15228675 .....'的Cookie,其他在Gmail中.
我不太确定他们是否使用其他技巧来防止那些试图模仿其他用户的人.
我会尝试使用类似cURL的东西冒充自己,看看他们是否只使用特定的令牌来记住用户.
如果它们在我看来就像一个重大的安全问题.也许不是Facebook(我不关心它)但是如果你没有设置' 使用始终https ',将使用 Gmail 连接,它将通过互联网发送你的未加密的令牌.
你怎么看?
我还注意到Facebook用户名/密码字段在http(而不是https)下公开.在这方面,我也想知道:所有的网站都露出了用户名/密码字段而不是"不自然"的"不自然".通过http发送请求后,没有"重定向到https"可以修复"全局可见的凭据"问题.
谢谢
编辑:
我的担忧是有根据的http://codebutler.com/
感谢Firesheep创作者突出问题!
java ×7
jodatime ×2
annotations ×1
classloader ×1
cookies ×1
database ×1
date ×1
datetime ×1
dependencies ×1
directory ×1
enums ×1
file ×1
filesystems ×1
https ×1
image ×1
interface ×1
iterator ×1
jar ×1
maven ×1
memcached ×1
mime-types ×1
regex ×1
remember-me ×1
security ×1
spring ×1
storage ×1
tomcat ×1
versions ×1