好吧,我搜索谷歌并找到了很多结果,但没有一个能够回答我的问题.所以,在这里.
我试图通过最小的pinterest clone实现来研究Spring MVC和Spring Data JPA.因此,以下是我认为与我的问题相关的代码部分.
型号/实体
@Entity
@Table(name = "pin_item")
public class PinItem implements Serializable {
// properties ...
@JoinColumn(name = "board_id", referencedColumnName = "user_board_id")
@ManyToOne(optional = false)
private UserBoard board;
// getters and setters...
}
@Entity
@Table(name = "user_board")
public class UserBoard implements Serializable {
// properties ...
@OneToMany(cascade = CascadeType.ALL, mappedBy = "board")
private List<PinItem> pinItemList;
// getters and setters...
}
Run Code Online (Sandbox Code Playgroud)
服务
@Service
@Transactional(readOnly = true)
public class BoardServiceImpl implements BoardService {
@Autowired
private UserBoardRepository boardRepository;
@Override …
Run Code Online (Sandbox Code Playgroud) 我是gtk和gnome编程的新手,喜欢研究GTK + 3.0和Gnome 3编程.由于这两个都是最近的API,我找不到关于这些主题的好的教程或博客文章.我在GTK +或GNOME编程中找到的书很老.所以我决定从http://developer.gnome.org/gtk-tutorial/开始使用最新的gtk教程,目前恰好是GTK + 2.90.7.
我需要您的帮助才能找到任何教程或博客或任何涵盖GTK + 3.0或GNOME 3编程主题的书籍.您能否分享您对这些主题的任何链接,并提前感谢您.
我知道覆盖和重载之间的语法差异.而且我也知道overriding是运行时多态,而重载是编译时多态.但我的问题是:"重载是真的编译时多态吗?方法调用是否真的在编译时解决?".为了澄清我的观点,让我们考虑一个示例类.
public class Greeter {
public void greetMe() {
System.out.println("Hello");
}
public void greetMe(String name) {
System.out.println("Hello " + name);
}
public void wishLuck() {
System.out.println("Good Luck");
}
}
Run Code Online (Sandbox Code Playgroud)
由于所有方法greetMe(), greetMe(String name), wishLuck()
都是公开的,所以它们都可以被覆盖(包括重载的方法),对吧?例如,
public class FancyGreeter extends Greeter {
public void greetMe() {
System.out.println("***********");
System.out.println("* Hello *");
System.out.println("***********");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,请考虑以下代码段:
Greeter greeter = GreeterFactory.getRandomGreeter();
greeter.greetMe();
Run Code Online (Sandbox Code Playgroud)
该getRandomGreeter()
方法返回一个随机Greeter
对象.它可以返回其对象Greeter
或其任何子类,如FancyGreeter
或GraphicalGreeter
或任何其他子类.在getRandomGreeter()
将或者使用创建的对象new
或动态地加载类文件,并使用反射(我认为这是可能的反射)或这是可能的任何其他方式创建对象.所有这些方法都Greeter
可以在子类中重写或不重写.因此编译器无法知道是否覆盖了特定方法(是否重载).对?此外,维基百科在虚拟功能上说:
在Java中,所有非静态方法默认为"虚函数".只有标记为关键字final的方法(不能被覆盖)以及未被继承的私有方法才是非虚拟方法.
因为,使用动态方法分派在运行时解析虚函数,并且由于所有非私有,非最终方法都是虚拟的(无论是否过载),因此必须在运行时解析它们.对?
那么,如何在编译时仍然可以解决重载?或者,有什么我误解了,或者我错过了什么?
正如标题所说,我的问题是,如何防止/取消JavaFX 2.2中初级阶段的关闭?我在Google上做了一些研究,以下两个链接似乎解决了这个问题:
我尝试了这两个链接解释的方法,但遗憾的是,对我来说,它们都不起作用.所以,不用多说,这就是我所做的.
首先,我想一个连接OnCloseRequest
到primaryStage
如下.
primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
@Override
public void handle(WindowEvent event) {
if (!canExit()) {
event.consume();
primaryStage.show(); // I tried without this line also.
}
}
});
Run Code Online (Sandbox Code Playgroud)
当canExit()
回报false
,我试图阻止进一步传播事件,并导致调用退出应用程序event.consume()
.但是阶段正在关闭/隐藏,我在Netbeans输出窗口中收到以下错误消息.它不断反复出现,直到我强行关闭Netbeans的应用程序.
(java:6731): Gtk-CRITICAL **: IA__gtk_widget_get_visible: assertion `GTK_IS_WIDGET (widget)' failed
(java:6731): Gtk-CRITICAL **: IA__gtk_widget_get_visible: assertion `GTK_IS_WIDGET (widget)' failed
(java:6731): Gtk-CRITICAL **: IA__gtk_widget_get_visible: assertion `GTK_IS_WIDGET (widget)' failed
Run Code Online (Sandbox Code Playgroud)
尝到失败的这种尝试,我改变了OnCloseRequest
对OnHiding
成功的期望.
primaryStage.setOnHiding(new EventHandler<WindowEvent>() {
@Override
public void …
Run Code Online (Sandbox Code Playgroud) 我下载了SwiftMailer 4.1.6,用于使用Gmail发送电子邮件.我为此目的编写了以下代码.
<?php
require_once 'swiftmailer/lib/swift_required.php';
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com', 465, "ssl")
->setUsername('jomit.jmt@gmail.com')
->setPassword('***********');
$mailer = Swift_Mailer::newInstance($transport);
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('jomit.jmt@gmail.com' => 'Jomit Jose'))
->setTo(array('jomit.jmt@gmail.com' => 'Jomit Jose'))
->setBody('This is the text of the mail send by Swift using SMTP transport.');
$numSent = $mailer->send($message);
printf("Sent %d messages\n", $numSent);
Run Code Online (Sandbox Code Playgroud)
并导致以下错误:
Fatal error: Uncaught exception 'Swift_TransportException' with message
'Connection could not be established with host smtp.gmail.com
[Permission denied #13]' in
/home/jomit/public_html/email_test/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php:266
Stack trace:
#0 /home/jomit/public_html/email_test/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php(66):
Swift_Transport_StreamBuffer->_establishSocketConnection()
#1 /home/jomit/public_html/email_test/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php(117):
Swift_Transport_StreamBuffer->initialize(Array)
#2 /home/jomit/public_html/email_test/swiftmailer/lib/classes/Swift/Mailer.php(79):
Swift_Transport_AbstractSmtpTransport->start()
#3 …
Run Code Online (Sandbox Code Playgroud) 简而言之,我的问题是如何使用Spring数据JPA保存具有预设主键(而不是null)的实体.
为了解释,请考虑一个名为的简单实体类Customer
.请记住,id未设置为自动增量,并且必须是自定义唯一值.这只是一个小例子.我需要在我的实际表中的id是一个自定义的唯一的,像用户名.
@Entity
@Table(name = "customer")
public class Customer implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@Column(name = "cust_id", nullable = false)
private Integer custId;
@Column(name = "first_name", length = 30)
private String firstName;
@Column(name = "last_name", length = 30)
private String lastName;
//getter, setters
}
Run Code Online (Sandbox Code Playgroud)
而且,我有CustomerRepository
作为
@Repository
public interface CustomerRepository extends JpaRepository<Customer, Integer> {
}
Run Code Online (Sandbox Code Playgroud)
现在,我想我必须插入一个id为101的新客户记录.预期的方法是:
Customer customer = new Customer();
customer.setCustId(101);
customer.setFirstName("Some");
customer.setLastName("Name");
repository.save(customer);
Run Code Online (Sandbox Code Playgroud)
但是,它repository.save()
不会插入ID为101的新客户.那么,我该怎么做呢?
最近我从他们的网站下载了Live555服务器源代码.我试图testMPEG1or2AudioVideoStreamer.cpp
在testProgs
目录中编译并运行文件.我成功编译了包括测试程序在内的整个项目.然后我运行testMPEG1or2AudioVideoStreamer
测试程序.我还在test.mpg
测试程序中定义的当前目录中放置了一个文件.运行后我得到以下输出:
Play this stream using the URL "rtsp://192.168.2.22:5555/testStream"
Beginning streaming...
Beginning to read from file...
...done reading from file
Beginning to read from file...
...done reading from file
etc.,
Run Code Online (Sandbox Code Playgroud)
然后我rtsp://192.168.2.22:5555/testStream
使用VLC媒体播放器复制并播放URL ,但是VLC只是等待一段时间然后停止(与Gnome MPlayer一样).它不播放任何音频或视频.任何帮助都表示赞赏,因为如果没有成功使用Live555进行流式传输,我无法前进.这是代码testMPEG1or2AudioVideoStreamer.cpp
.你能告诉我我错过了什么吗?
/**********
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License, …
Run Code Online (Sandbox Code Playgroud) 这是我的表格及其中包含的数据:
Table: first
+----------+------+
| first_id | data |
+----------+------+
| 1 | 5 |
| 2 | 6 |
| 3 | 7 |
| 4 | 6 |
| 5 | 7 |
| 6 | 5 |
| 7 | 7 |
| 8 | 6 |
| 9 | 5 |
| 10 | 7 |
+----------+------+
Table: second
+-----------+----------+----------+
| second_id | first_id | third_id |
+-----------+----------+----------+
| 1 | 1 | 2 |
| …
Run Code Online (Sandbox Code Playgroud) 如果我有一个包含数百个文件的目录,使用ls
,ls-l
或者dir
给我一个对于命令终端屏幕来说太长的列表,那么我无法看到目录中的大多数文件.
我记得有一些争论ls
允许人们以较短的增量滚动列表,但似乎无法找到它.