我的应用程序使用Spring自动布线来配置bean.我刚刚尝试添加@Transactional,似乎没有调用预期的代理.我希望PersonalController使用事务代理包装的UpdatePublicMapService调用UpdatePublicMapService.
我看到的是PersonalController被实例化两次.它第一次获得代理但第二次获得未代理的目标.我究竟做错了什么?
非常感谢您的帮助.
web.xml中
...
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml, /WEB-INF/applicationContext-security.xml</param-value>
</context-param>
...
Run Code Online (Sandbox Code Playgroud)
applicationContext.xml中
...
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
...
Run Code Online (Sandbox Code Playgroud)
的applicationContext-security.xml文件
...
<context:component-scan base-package="com.th"/>
<context:component-scan base-package="org.springframework.security.core.userdetails"/>
...
Run Code Online (Sandbox Code Playgroud)
PersonalController
@Controller
@RequestMapping("/personal")
public class PersonalController {
@Autowired
public void setUpdatePublicMapService(UpdatePublicMapService updatePublicMapService) {
this.updatePublicMapService = updatePublicMapService;
}
}
Run Code Online (Sandbox Code Playgroud)
UpdatePublicMapService
@Service
@Transactional
public class UpdatePublicMapService {
...
}
Run Code Online (Sandbox Code Playgroud)
记录片段
13:14:40,268 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Creating shared instance of singleton bean 'personalController'
13:14:40,268 DEBUG [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Creating instance of bean 'personalController'
...
13:14:40,293 …Run Code Online (Sandbox Code Playgroud) 是否可以在if语句的case子句中编写子查询
即.
SELECT colA, colB,
CASE WHEN (SELECT colA FROM tab2 WHERE tab2.colA = tab1.colA) THEN '1'
CASE WHEN (SELECT colA FROM tab3 WHERE tab3.colA = tab3.colA) THEN '2'
ELSE '0'
END AS colC,
...
FROM tab1
Run Code Online (Sandbox Code Playgroud)
扩展问题:
是否可以根据该值列执行某些操作?(非常肯定是的,但想要确认)
即.
CASE
WHEN colC = '1' THEN ( select colR FROM...),
WHEN colC = '2' THEN (SELECT ColS FROM...),
ELSE 'doesn't work'
END AS colD
Run Code Online (Sandbox Code Playgroud)
此外,上述情况是否允许根据colC的值返回多个不同的列?
即.
CASE
WHEN colC = '1' THEN ( select colR, colV, colX FROM...),
WHEN colC …Run Code Online (Sandbox Code Playgroud) 我有一个自定义组件,我想提供与TextView相同的颜色.也就是说,我不希望复制它的颜色,我希望得到默认的前景色和背景色,如果有在Android这样的概念.
[编辑]
以下似乎产生我的TextView的文本颜色.但这只是运气吗?对我来说,默认的TextView会使用它并不直观android.R.attr.textColorSecondary吗?为什么不resolveAttribute直接返回颜色?
TypedValue tv = new TypedValue();
getContext().getTheme().resolveAttribute(android.R.attr.textColorSecondary, tv, true);
Color holyColor = getResources().getColor(tv.resourceId);
Run Code Online (Sandbox Code Playgroud)
[编辑]
我在android.git.kernel.org找到了TextView的源代码,但它似乎包含很多com.android.internal.R引用,我认为我不应该在自己的代码中使用它.我目前正在寻找一些TextView使用的证据android.R.attr.textColorSecondary.
[编辑]
我发现了某种证据developer.android.com,在styles.xml该TextView使用android.R.attr.textAppearanceSmall.textAppearanceSmall记录为默认为"辅助文本颜色".
我想我毕竟很幸运,但我仍然不喜欢我的那个小代码片段.
我想以某种方式标记代码库,当我将其推向生产时,以便下次当我想推送到生产时,我可以做一个差异,看看自上次以来确切改变了哪些文件.
我怎样才能用GIT做到这一点?
另外,如何列出所有生产版本?
认为这非常简单,但我花了半个小时试图弄明白无济于事.
$unique_id = uniqid(microtime(),1);
if (is_null($_COOKIE['client_id']))
{
setcookie("client_id", $unique_id);
}
Run Code Online (Sandbox Code Playgroud)
但是当我通过$ _COOKIE ['client_id']检查cookie时,我得到一个空值.有什么想法吗?
输出不按升序排序.这是我得到的代码和输出.
实际输出是:
Amy Jose Jeremy Alice Patrick Alan Amy Jeremy Helen Alexi
虽然预期产量是:
Amy, Alice, Jeremy, jose, Patrick Alan, Amy, Alexi, Helen, Jeremy
代码是:
public class MyFriends
{
static Set<String> names = new TreeSet<String>();
public MyFriends()
{
super();
names = new TreeSet<String>();
}
public static void exampleMethod()
{
String[] name1 = {"Amy", "Jose", "Jeremy", "Alice", "Patrick"};
String[] name2 = { "Alan", "Amy", "Jeremy", "Helen", "Alexi"};
for (int i = 0; i < name1.length; i++)
{
names.add(name1[i]);
}
for (String aString …Run Code Online (Sandbox Code Playgroud) 我的网站在我的网站上使用Subsonic 2.2.
我有一个奇怪的情况,我需要运行一些特殊的SQL语句.
public IList<string> GetDistincList(string TableName, string FieldName)
{
string sqlToRun = string.Format("SELECT DISTINCT {0} FROM {1} ORDER BY {0}", FieldName, TableName);
Query query = new Query(TableName);
query.PleaseRunThis(sqlToRun);
query.ExecuteReader();
}
Run Code Online (Sandbox Code Playgroud)
有人能帮我一下吗?看来,我只想返回一个通用的字符串列表.
谢谢!
在Lisp中,你可以有这样的东西:
(setf my-stuff '(1 2 "Foo" 34 42 "Ni" 12 14 "Blue"))
(format t "~{~d ~r ~s~%~}" my-stuff)
Run Code Online (Sandbox Code Playgroud)
迭代同一个列表的最Pythonic方法是什么?首先想到的是:
mystuff = [1, 2, "Foo", 34, 42, "Ni", 12, 14, "Blue"]
for x in xrange(0, len(mystuff)-1, 3):
print "%d %d %s" % tuple(mystuff[x:x+3])
Run Code Online (Sandbox Code Playgroud)
但这对我来说感觉很尴尬.我确定有更好的方法吗?
好吧,除非有人后来提供了一个更好的例子,我认为gnibbler的解决方案是最好的\最接近的,尽管它起初可能并不那么明显它是做什么的:
mystuff = [1, 2, "Foo", 34, 42, "Ni", 12, 14, "Blue"]
for x in zip(*[iter(mystuff)]*3):
print "{0} {1} {2}".format(*x)
Run Code Online (Sandbox Code Playgroud) 我在OpenVMS上运行的COBOL程序中遇到以下问题.
我有以下变量声明:
01 STRUCT-1.
02 FIELD-A PIC S9(6) COMP-3.
02 FIELD-B PIC S9(8) COMP-3.
01 STRUCT-2.
03 SUB-STRUCT-1.
05 FIELD-A PIC 9(2).
05 FIELD-B PIC 9(4).
03 SUB-STRUCT-2.
05 FIELD-A PIC 9(4).
05 FIELD-B PIC 9(2).
05 FIELD-C PIC 9(2).
Run Code Online (Sandbox Code Playgroud)
以下代码:
* 1st Test:
MOVE 112011 TO FIELD-A OF STRUCT-1
MOVE 20100113 TO FIELD-B OF STRUCT-1
DISPLAY "FIELD-A : " FIELD-A OF STRUCT-1 CONVERSION
DISPLAY "FIELD-B : " FIELD-B OF STRUCT-1 CONVERSION
* 2nd Test:
MOVE 112011 TO SUB-STRUCT-1.
MOVE …Run Code Online (Sandbox Code Playgroud) 我想要做的是改变窗口的大小并在它旁边创建一个窗口,使它们完全相邻.从这个意义上讲,我需要将新窗口定位到屏幕的右上角,我这样做的方式不起作用(代码如下),我需要帮助:)
function () {
var viewportwidth = document.documentElement.clientWidth;
var viewportheight = document.documentElement.clientHeight;
window.resizeBy(-300,0);
window.open("something.htm",
"mywindow",
"width=300,
height=viewportheight,
left=(viewportwidth - 300),
top=0,
screenX=0,
screenY=0");
}
Run Code Online (Sandbox Code Playgroud)