小编yap*_*m01的帖子

Spring - 使用别名vs名称

我对别名的使用感到困惑.我确实理解别名是什么以及它是如何被使用但我不知道它如何与在bean定义上使用名称有什么不同.

<bean id="xyx" name="abc,def" .. />

<alias name="xyx" alias="pqr"/>
Run Code Online (Sandbox Code Playgroud)

当我可以使用abc或def时为什么别名?

spring

35
推荐指数
2
解决办法
5万
查看次数

JSR 303 Bean验证 - 为什么在getter而不是setter?

我不明白为什么JSR 303(bean验证)是针对getter方法而不是setter的?将它放在setter方法下是不是更合乎逻辑,因为那是进入字段的入口点,应该在此之前检查验证?

getter bean-validation

29
推荐指数
3
解决办法
8137
查看次数

Java:超类对象上子类的受保护访问限制

我知道之前在这个论坛上已经提出这个问题,但我会再次提出要求,因为我没有看到任何好的答案(到目前为止).

在这里:

package a;
public class A{
    protected int a;
}

package b;
public class B extends A{
}

package c;
public class C extends B?
    public void accessField(){
        A ancient = new A();
        ancient.a = 2;  //A - That wouldn't work.

        a = 2;   //B - That works.
    }

?
Run Code Online (Sandbox Code Playgroud)

为什么条款A)不起作用?在子类C中对超类对象古代访问的这种限制背后的理性是什么?
谢谢.

java

13
推荐指数
2
解决办法
2847
查看次数

生到<?extends Object>

我只是不明白这一点.

List list = new ArrayList();
List <? extends Object> list1 = list; // unchecked conversion warning.
Run Code Online (Sandbox Code Playgroud)

由于Object是Java中最高的上限,我没有看到任何理由为什么会出现警告.

更新1:

关于akf的答案:

我完全理解你在说什么.我已经知道了.但< ? extends Object>是最高的上限.这意味着你有任何你想要的类型.基本上<?> == <? extends Object>.

你可以在你的代码上试试这个,你会看到 <?> == <? extends Objects>

更新2:

关于盛的答案:

List  list = new ArrayList ();
List.add("a");
List <? extends Runnable> list1 = list; //warning here
Run Code Online (Sandbox Code Playgroud)

为什么没有警告?

List <?> list2 = list; // No warning here
Run Code Online (Sandbox Code Playgroud)

更新3:

我只是重温上述内容并仍然感到困惑.

由于编译器允许以下内容:

  1. List a = new ArrayList();

  2. List <?> b …

java generics

11
推荐指数
1
解决办法
671
查看次数

Spring IDREF用法

我有一个spring.xml定义如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="triangle" class="org.tutorial.spring.Triangle">
    <property name="pointA">
        <idref bean="pointA"/>
    </property>
    <property name="pointB" ref="pointB"/>
    <property name="pointC" ref="pointC"/>
</bean>
<bean id="pointA" class="org.tutorial.spring.Point">
    <property name="x" value="0"/>
    <property name="y" value="0"/>
</bean>
<bean id="pointB" class="org.tutorial.spring.Point">
    <property name="x" value="100"/>
    <property name="y" value="200"/>
</bean>
<bean id="pointC" class="org.tutorial.spring.Point">
    <property name="x" value="-100"/>
    <property name="y" value="-200"/>
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)

Point级基本上是与2个私人INT成员的类.我的问题是我在IDREF上遇到如下错误:

Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'java.lang.String' to required type 'org.tutorial.spring.Point' for property 'pointA'; 
nested …
Run Code Online (Sandbox Code Playgroud)

spring

11
推荐指数
2
解决办法
2万
查看次数

c ++值初始化

我正在阅读Stanley Lipmann撰写的c ++ primer第4版,我在第92页关于值初始化.

关于价值初始化,我只是不明白.我浏览了一下,我知道还有默认的初始化和零初始化.任何人都可以解释价值初始化吗?

来到这一段..

第a)条

"有些类没有定义默认构造函数.我们不能通过只指定一个大小来初始化这种类型的向量,我们还必须指定一个初始值"

我确实理解了上述内容,但我发现下面与上述句子相矛盾.

第b)条

"元素类型可能是一个没有定义任何构造函数的类类型.在这种情况下,库仍然会创建一个初始化值的对象.它是通过初始化该对象的每个成员来实现的."

我不明白条款b.

任何帮助表示赞赏

c++ initialization

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

Apache Tomcat 1.7如何将其他参数传递给JAAS

根据Apache Tomcat 1.7文档:

编写自己的基于JAAS的LoginModule,User和Role类(参见JAAS Authentication Tutorial和JAAS Login Module Developer's Guide),由JAAS登录上下文管理(javax.security.auth.login.LoginContext)开发LoginModule时,请注意,JAASRealm的内置Call​​backHandler目前仅识别NameCallback和PasswordCallback.

它只支持NameCallback和PasswordCallback.我想将其他参数传递给JAAS登录模块但由于此限制而无法传递.

如何将其他参数传递给JAAS登录模块?

tomcat jaas java-ee tomcat7

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

STL的前后增量运算符之间的概念差异

据说:

for (vector<int>::iterator iter = ivec.begin(); iter != ivec.end(); ++iter)
{}
Run Code Online (Sandbox Code Playgroud)

我确实理解内置类型的前/后增量int等差别,但就迭代器而言,这里++iter和之间有什么区别iter++?(请记住,我知道两者都会产生相同的结果).

c++ stl

8
推荐指数
2
解决办法
4896
查看次数

Java Generics:在方法参数中使用通配符时,方法推理如何工作?

假设我有以下内容:

class x {

public static void main(String [] args) {
    List <?> a = new LinkedList<Object>();
    List <? extends Object> b = new LinkedList<Object>();
    List <? super Object> c = new LinkedList<Object>();
    abc(a, "Hello"); // (1) Error
    abc(b, "Hello"); // (2) Error
    abc(c, "Hello"); // (3) ok  
    def(b); // (4) ok

// Showing inference at work
    Integer[] a = {10, 20, 30};  // (5)
    T is inferred to be ? extends Object
    Method signature: ppp(? extends Object, ? extends …
Run Code Online (Sandbox Code Playgroud)

java generics

8
推荐指数
2
解决办法
951
查看次数

Eclipse 2022-09:Maven 更新失败

几天前将我的 eclipse 升级到 2022-09。当我对项目进行 Maven 更新时,出现以下错误。

\n
\n

java.lang.NoSuchMethodError: 'org.eclipse.core.resources.IProject org.eclipse.m2e.core.project.configurator.ProjectConfigurationRequest.getProject()'
\n\xc2\xa0 \xc2\xa0 \xc2\xa0at org. jboss.tools.maven.jdt.configurators.EndorsedLibProjectConfigurator.configureRawClasspath(EndorsedLibProjectConfigurator.java:113)
\n:

\n
\n

平台:

\n
    \n
  1. Windows 10
  2. \n
  3. 爪哇1.8
  4. \n
  5. JBoss 工具 4.24.0.Final
  6. \n
  7. Maven 配置文件管理 1.5.5
  8. \n
  9. m2e-apt 1.5.4
  10. \n
  11. 休眠工具 (Helios) 3.4.x
  12. \n
\n

任何帮助都会很棒。
\n谢谢

\n

eclipse jboss maven

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