有没有人有任何Java类可能看起来像POJO,EJB和EJB 3的例子?我正在尝试了解这些Java技术,但遇到了麻烦.我希望如果我能看到这三者的实现是什么样子会有所帮助.
我正在寻找一篇文章或教程,给出一个示例,了解使用Swing框架时最新的MVC模式(2.0?)应该是什么样子.
此外,更习惯于分层架构,我想知道域对象或POJO如何适应图片.我是否正确地假设它们是独立的并且被模型调用?至于模式本身,在将类分组到包中有广泛使用的约定吗?
TIA,
詹姆斯P.
我有一个POJO和一个(当前尚未构建的)类,它将返回它的列表.我想自动生成POJO作为Map访问所需的代码.这是一个好主意,是否可以自动执行,我是否需要手动为每个我想要这样处理的POJO执行此操作?
谢谢,安迪
我正在开发一个利用JPA/EclipseLink作为持久层的小型多层应用程序.在我目前的设计中,我有两组对象,POJO和Entity对象,我使用POJO进行常规编程任务,而Entity类用于DB读/写和表映射.
现在有必要让POJO =>实体映射(有问题),然后是第二个Entity ==> DB表映射(JPA注释)?我发现使用Entity类作为我的主java对象更容易,并且在必要时将它们持久化,所有Entity类本质上都是POJO并带有几个JPA注释.
同样在确实需要将事物分开的情况下,POJO =>实体映射的最佳位置是什么,目前我在CRUD方法中这样做,例如
public void addCustomerPOJO(Customer customerPOJO){
//Cteat EntityManager and start a Transaction
//Create Entity class and populate it with values
//from the passed-in regular (non entity) Customer class
//Persiste and close
}
Run Code Online (Sandbox Code Playgroud)
有没有更好或更常见的方法来做到这一点?
我正在尝试创建一个包含其他人将使用的共享代码的android项目.在这个项目中,我只有POJO,没有特定于android的类.
某些功能需要调用某些活动,并且取决于结果.我的POJO类在使用时会引用调用活动,但这是在运行时发生的,我无法控制这些活动的实现.
我的问题是,通过调用活动的引用,我可以startActivityForResult但是我无法添加onActivityResult,它可能存在于调用活动中但不知道我使用的requestCode.
那么我的问题是如何在活动返回时从常规java对象中知道?因为,据我所知,我只能在Activity类上实现onActivityResult.
谢谢!
我在我的Web应用程序中使用Jersey.发送到服务器的数据是JSON格式,而后者在服务器端解组,获得的对象用于进一步处理.安全审计为这种方法带来了一些漏洞.
我的休息代码:
@POST
@Path("/registerManga")
@Produces(MediaType.APPLICATION_JSON)
public Response registerManga(MangaBean mBean){
System.out.println(mBean);
return Response.status(200).build();
}
Run Code Online (Sandbox Code Playgroud)
MangaBean:
public class MangaBean {
public String title;
public String author;
@Override
public String toString() {
return "MangaBean [title=" + title + ", author=" + author + "]";
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
Run Code Online (Sandbox Code Playgroud)
数据以以下格式发送:
["title":"Bleach","author":"kubo tite"]
Run Code Online (Sandbox Code Playgroud)
上面的数据被成功解组到一个对象中,我将其作为输出:
MangaBean …Run Code Online (Sandbox Code Playgroud) 我有一个Java bean,它有一个字段,而这个字段又是另一个bean
public class BeanOne {
private String fieldOne;
private BeanTwo fieldTwo;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
public BeanTwo getFieldTwo() {return this.fieldTwo;}
public void setFieldTwo(BeanTwo fieldTwo){this.fieldTwo = fieldTwo}
}
public class BeanTwo {
private String fieldOne;
public String getFieldOne() {return this.fieldOne;}
public void setFieldOne(String fieldOne){this.fieldOne = fieldOne}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试将地图传递给BeanUtils以尝试将以下地图转换为BeanOne
Map beanOneMap = new HashMap<String, Object>();
beanOneMap.put("fieldOne", "fieldOneValue");
Map beanTwoMap = new HashMap<String, Object>();
beanTwoMap.put("fieldOne", "fieldOneValue");
beanOneMap.put("fieldTwo", beanTwoMap);
BeanOne beanOne = new BeanOne();
BeanUtils.populate(beanOne, beanOneMap); …Run Code Online (Sandbox Code Playgroud) 我使用带有构建器模式的lombok构造了一个Java对象。但是,当尝试使用Jackson来反序列化Java对象时,出现以下异常。对于具有@JsonProperty注释的字段,会发生这种情况。
线程“ main”中的异常com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“ user_name”(类User $ UserBuilder),未标记为
位于[[来源:(String)“ {” userId“:1,” user_name“:” username“}”; 行:1,列:26](通过参考链:User $ UserBuilder [“ user_name”])
使用的代码:
public class TestJson {
public static void main(String args[]) throws Exception {
ObjectMapper objectMapper = new ObjectMapper();
User user = User.builder()
.userName("username")
.userId(1)
.build();
System.out.println(user);
String string = objectMapper.writeValueAsString(user);
System.out.println(string);
user = objectMapper.readValue(string, User.class);
System.out.println(user);
}
}
@JsonDeserialize(builder = User.UserBuilder.class)
@Getter
@ToString
@Builder(toBuilder = true)
class User {
@JsonProperty("user_name")
@NonNull
private String userName;
@JsonProperty
private int userId;
@JsonPOJOBuilder(withPrefix = "")
public …Run Code Online (Sandbox Code Playgroud) 我必须编写一个用于保存计算结果的 Java 对象。结果包含大量字段,根据所使用的算法类型,可能会或可能不会设置这些字段。例如:
class EquityValuationResult {
private ValuationAlgorithm algorithm;
private int yield;
private double curve;
private double meanValue;
private double probability;
private int standardDeviation;
private boolean approximateValue;
......
//Getter and Setters
}
Run Code Online (Sandbox Code Playgroud)
对于不同的 ValuationAlgorithm,这些属性的内容可能不同。例如,如果算法是A,yield 和probability 会包含计算值,其余的将为null;如果算法是 B,standardDeviation 和 curve 将包含结果,其余的将为 null 等。规则非常复杂,例如,如果 approcimateValue 为 true,则某些值将被覆盖等。因此,所有这些属性必须在一个类中,因为它们在逻辑上是一个结果。
另一种方法是使用 Map
class EquityValuationResult {
private final String YIELD = "yield";
private final String CURVE = "curve";
........
private ValuationAlgorithm algorithm;
private final Map<String, Object> result = new HashMap<String, Object>();
// Getter and Setters …Run Code Online (Sandbox Code Playgroud) 我pojo上课了
运行此代码
Field[] fields = clazz.getDeclaredFields();
Run Code Online (Sandbox Code Playgroud)
我在Android StudioIDE 下有一个字段:
它的类型是接口,com.android.tools.fd.runtime.IncrementalChange
它的名字是$ change
我的Android Studio版本是2.0预览版4
当我在eclipse中运行代码时,它正常工作.
这个领域来自哪里?我怎么能避免这个领域,是否有一些设置Android Studio?