标签: annotations

spring @Value注释,继承和公共字段但不同的值

我有三个类,一个是超类.

class abstract Base {
   public abstract String getV();
}

class A extends Base {
   private String v;
   @Value("${A.v}") public String getV() { return v; };
}

class B extends Base {
   private String v;
   @Value("${B.v}") public String getV() { return v; };
}
Run Code Online (Sandbox Code Playgroud)

有没有办法简化spring @Value注释的使用?我不想复制粘贴"v"字段声明和所有Base子节点的getter.到目前为止我得到的是:

class abstract Base {
   protected String v;
   public String getV() { return v; };
   public abstract void setV(String v);
}

class A extends Base {
   @Value("${A.v}") public String setV(String v) { this.v = v;}; …
Run Code Online (Sandbox Code Playgroud)

java spring annotations

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

选择注释时,如何仅将视图设置为垂直居中

现在,当我选择注释时,我将视图重新定位为居中,如下所示:

[mapView setCenterCoordinate:view.annotation.coordinate animated:YES];
Run Code Online (Sandbox Code Playgroud)

但是,如何才能将视图重新定位到垂直而不是水平居中?

annotations center mkmapview ios

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

如何删除所有注释引脚然后添加一个新注释引脚

好奇,如果有人可以帮助一件事:

我只想告诉Xcode,如果地图上同时存在"addAnnotation"和"newAnnotation"引脚,则删除初始的"newAnnotation"引脚.

我的非工作代码如下:

if ([self.mapView addAnnotation:addAnnotation] & [self.mapView addAnnotation:newAnnotation] return)
{
    [self.mapView removeAnnotation:newAnnotation];
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

annotations mkmapview ios

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

Spring Test Class中的NullPointerException

我在测试Spring Junit测试配置时遇到了NullPointerException.问题在于使用@ContextConfiguration和@Autowired注释.

当我实例化上下文并直接获得对bean的引用时,如测试方法中注释掉的代码所示,测试正确运行并成功.但是当我尝试使用@ContextConfiguration和@autowired注释时,使用相同的XML文件属性,我在assertEquals语句中得到一个NullPointerException.你知道我做错了什么吗?

package com.greathouse.helloworld.HelloWorldTest;

import javax.inject.Inject;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import junit.framework.TestCase;

@ContextConfiguration(locations = {"classpath:/resources/application-config.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class AppTest extends TestCase
{
    @Autowired
    MessageService messageService;

    @Test
    public void testApp()
    {
        //ApplicationContext context = new ClassPathXmlApplicationContext("classpath:/resources/application-config.xml");
        //messageService = context.getBean("printMessage", MessageService.class);
        assertEquals( messageService.getMessage(), "Hello World" );
    }
}
Run Code Online (Sandbox Code Playgroud)

junit spring annotations

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

Spring MVC中的注释与标记接口

你喜欢哪个?在春季mvc,他们@Controller用于所有Controller类.他们可以使用一些标记界面吗?他们为什么选择注释方法?更好的是,它们可以具有类似的controller-scan类似功能,component-scan因此可以将包中的任何类假定为Controller类.类似地service-scan,repository-scan可以在xml中定义.

spring annotations interface java-ee

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

检查派生类是否具有超类的注释

我需要检查,形成超类,如果派生类有一个特定的注释:

public class SuperClass
{
  public boolean hasAnnotation()
  {
    //super_class_method_code
  }
}

@annotationToCheck
public class DerivedClass extends SuperClass
{
   //derived_class_code
}
Run Code Online (Sandbox Code Playgroud)

有可能在Java?我知道如何在C#中做,但在Java中我找不到任何解决方案...... :(

谢谢!!!

java oop inheritance annotations

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

如何爬上TypeMirror对象的层次结构树?

我正在使用Java的Annotation Processing机制为我的一些类创建序列化器.
我想检查当前处理的类的每个字段,并确保它是它的子类MyBaseSerializableClass.
我的问题是我只知道如何找到字段类型的直接超类:

TypeElement fieldType = (TypeElement)element;
TypeMirror superClassType = fieldType.getSuperclass();
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到超级类superClassType并继续上升继承树直到我命中Object

java apt annotations

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

Zend form bootstrap annotation datepicker"提供给Escape助手的对象,但是标志不允许递归"

我正在使用带有Bootstrap和ReverseForm适配器的Zend框架,并且有一个有趣的问题:当我在Zend Form中使用Bootstrap Datepicker时,我有下一个异常:

Object provided to Escape helper, but flags do not allow recursion

有我的形式代码:

use \Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
use \Zend\Form\Annotation as ZFA;
Run Code Online (Sandbox Code Playgroud)

...

/**
 * @var \DateTime
 *
 * @ODM\Date
 *
 * @ZFA\Type("ReverseForm\Element\BootstrapDatepicker")
 * @ZFA\Attributes({"type":"text"})
 * @ZFA\Options({
 *      "label":"Date",
 *      "extended": {
 *          "help": {"content": ""},
 *      }
 * })
 *
 */
private $date;
Run Code Online (Sandbox Code Playgroud)

并有我的反向形式配置:

'ReverseForm\Element\BootstrapDatepicker' => array(
    'js' => array(
        '/vendor/datepicker/js/bootstrap-datepicker.js'
    ),
    'css' => array(
        '/vendor/datepicker/css/datepicker.css'
    ),
    'template' => 'input.phtml',
    'inlineJs' => "$('#%1\$s').datepicker(%2\$s);",
    'inlineJsConfig' => array(
        'format' => …
Run Code Online (Sandbox Code Playgroud)

php annotations zend-form twitter-bootstrap zend-framework2

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

在Hibernate中过滤

我有一个非常简单的一对多关系,并希望使用in子句过滤多边(集合).我无法让过滤器工作.Hibernate都抱怨过滤器参数是未定义的(当使用Set或Integer作为类型时)或者说传入的值是错误的类型(当使用int参数类型时)

关系:类别有很多测试用例,测试用例只有一个类别

POJO#1

@Entity
@Table(name = "CATEGORY")
public class Category
{
    @Id
    @Column(name = "CATEGORYID")
    private int ID;

    @Column(name = "CATEGORYNAME")
    private String name;

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumn(name = "CATEGORYID")
    @Filter(name = "TEST_RUN_ID_FILTER")
    private Collection<SimpleTestCase> testCases;
}
Run Code Online (Sandbox Code Playgroud)

Pojo#2

@Entity
@Table(name = "TESTCASE_NEW")
@FilterDef(name = "TEST_RUN_ID_FILTER", defaultCondition = "TESTRUNID in (:IDS)", parameters = { @ParamDef(name = "IDS", type = "Integer") })
public class SimpleTestCase
{
    @Id
    @Column(name = "TESTCASEID")
    private int ID;

    @Column(name = "TESTCASENAME")
    private String name;

    @Column(name = "STATUS") …
Run Code Online (Sandbox Code Playgroud)

annotations hibernate filter one-to-many

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

Java注释可以分布在多行吗?

我使用GWT I18N,它依赖于带参数的消息的注释.
例如:

@DefaultMessage("Here is a message <br/> with a param:{0}")
String messageToLocalize(String param);
Run Code Online (Sandbox Code Playgroud)

如果没有本地化翻译,将使用默认消息.
我有一些很长的字符串要处理,我想输入几行代码可读性(我不会谈论渲染消息的多行).

我试过这个:

@DefaultMessage("Here is a long \
message <br/> with a \
param:{0}")
String messageToLocalize(String param);
Run Code Online (Sandbox Code Playgroud)

它失败了(GWT PlugIn 4.2和SDK 2.5.1),错误为"无效的转义序列".

我错过了什么 ?
它是Java注释或GWT的约束吗?(我很害怕,但在那找不到任何东西)
是否有解决方法?
谢谢


编辑:给出第一个答案,问题必须改写:是否可能,我应该使用哪个字符来显示延续(如果有的话)?
注释处理器显然需要一些东西来告诉他.我试过"\",因为它是在属性文件中使用的字符...
"+"也不起作用.

java annotations

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