คำถามติดแท็ก java

Java เป็นภาษาการเขียนโปรแกรมระดับสูงที่เป็นที่นิยม ใช้แท็กนี้เมื่อคุณมีปัญหาในการใช้หรือทำความเข้าใจภาษานั้น ๆ แท็กนี้ไม่ค่อยได้ใช้คนเดียวและมักใช้ร่วมกับ [สปริง], [สปริงบูต], [jakarta-ee], [android], [javafx], [gradle] และ [maven]

11
ไฮเบอร์เนต: แนวทางปฏิบัติที่ดีที่สุดในการดึงคอลเลกชันขี้เกียจทั้งหมด
สิ่งที่ฉันมี: @Entity public class MyEntity { @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true) @JoinColumn(name = "myentiy_id") private List<Address> addreses; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true) @JoinColumn(name = "myentiy_id") private List<Person> persons; //.... } public void handle() { Session session = createNewSession(); MyEntity entity = (MyEntity) …

6
การใช้สตรีมเพื่อรวบรวมลงใน TreeSet ด้วยตัวเปรียบเทียบแบบกำหนดเอง
การทำงานใน Java 8 ฉันได้TreeSetกำหนดไว้ดังนี้: private TreeSet<PositionReport> positionReports = new TreeSet<>(Comparator.comparingLong(PositionReport::getTimestamp)); PositionReport เป็นคลาสที่ค่อนข้างง่ายที่กำหนดไว้เช่นนี้: public static final class PositionReport implements Cloneable { private final long timestamp; private final Position position; public static PositionReport create(long timestamp, Position position) { return new PositionReport(timestamp, position); } private PositionReport(long timestamp, Position position) { this.timestamp = timestamp; …

16
ฉันจะกำหนดค่า HikariCP ในแอป Spring Boot ในไฟล์ application.properties ได้อย่างไร
ฉันกำลังพยายามตั้งค่า HikariCP ในแอป Spring Boot (1.2.0.M1) ของฉันดังนั้นฉันจึงสามารถทดสอบใช้แทน Tomcat DBCP ได้ ฉันต้องการกำหนดค่าพูลการเชื่อมต่อในไฟล์ application.properties เหมือนที่ทำกับ Tomcat แต่ฉันคิดไม่ออกว่าควรทำอย่างไร ตัวอย่างทั้งหมดที่ฉันพบแสดงสไตล์ JavaConfig หรือใช้ไฟล์คุณสมบัติ HikariCP แยกต่างหาก ใครสามารถช่วยฉันหาชื่อคุณสมบัติเพื่อกำหนดค่าใน application.properties ฉันต้องการเปลี่ยนจากการใช้แนวทาง driverClassName เป็นแนวทาง DataSourceClassName เนื่องจากดูสะอาดกว่าและขอแนะนำ เป็นไปได้ในไฟล์ application.properties ของฉันหรือไม่ นี่คือสิ่งที่ฉันมีสำหรับ Tomcat DBCP (มีเพียงการกำหนดค่าพื้นฐานบางอย่างไม่ได้ล้างออกทั้งหมด) spring.datasource.validation-query=SELECT 1 spring.datasource.max-active=10 spring.datasource.max-idle=8 spring.datasource.min-idle=8 spring.datasource.initial-size=5 spring.datasource.test-on-borrow=true spring.datasource.test-on-return=true และฉันกำลังใช้ driverClassName และ jdbc url เพื่อตั้งค่าการเชื่อมต่อ: spring.datasource.url=jdbc:mysql://localhost:3306/myDb spring.datasource.driverClassName=com.mysql.jdbc.Driver

3
Gradle: อะไรคือความแตกต่างระหว่าง classpath และ compile dependencies?
เมื่อเพิ่มการอ้างอิงลงในโครงการของฉันฉันไม่แน่ใจว่าควรให้คำนำหน้าอะไรเช่น"classpath"หรือ"compile". ตัวอย่างเช่นการอ้างอิงของฉันด้านล่างควรรวบรวมเวลาหรือคลาสพา ธ หรือไม่ นอกจากนี้สิ่งนี้ควรอยู่ในแอปพลิเคชัน build.gradle ของฉันหรือในbuild.gradle เฉพาะของโมดูล build.gradle ปัจจุบัน (ที่ระดับแอปพลิเคชัน): apply plugin: 'java' repositories { mavenCentral() } dependencies { compile 'org.hibernate:hibernate-core:5.0.5.Final' compile 'mysql:mysql-connector-java:5.1.38' }


8
คำอธิบายประกอบประเภทเดียวกันหลายรายการในองค์ประกอบเดียว?
ฉันพยายามตบคำอธิบายประกอบประเภทเดียวกันสองรายการขึ้นไปในองค์ประกอบเดียวในกรณีนี้คือวิธีการ นี่คือรหัสโดยประมาณที่ฉันกำลังดำเนินการ: public class Dupe { public @interface Foo { String bar(); } @Foo(bar="one") @Foo(bar="two") public void haha() {} } เมื่อรวบรวมข้อมูลข้างต้น javac บ่นเกี่ยวกับคำอธิบายประกอบที่ซ้ำกัน: max @ upsight: ~ / work / daybreak $ javac Dupe.java Dupe.java:5: คำอธิบายประกอบที่ซ้ำกัน เป็นไปไม่ได้ที่จะทำซ้ำคำอธิบายประกอบเช่นนี้? พูดอย่างอวดดีสองอินสแตนซ์ของ @Foo ข้างต้นไม่แตกต่างกันเนื่องจากเนื้อหาต่างกันใช่หรือไม่? หากไม่สามารถทำได้ข้างต้นมีวิธีแก้ไขปัญหาอะไรบ้าง UPDATE: ฉันถูกขอให้อธิบายกรณีการใช้งานของฉัน นี่ไป ฉันกำลังสร้างกลไกเชิงไวยากรณ์เพื่อ "แมป" POJO ไปยังที่เก็บเอกสารเช่น MongoDB ฉันต้องการอนุญาตให้ระบุดัชนีเป็นคำอธิบายประกอบบน …
92 java  annotations 

9
ฉันจะใช้ตัวเปรียบเทียบเพื่อกำหนดลำดับการจัดเรียงแบบกำหนดเองได้อย่างไร
ฉันต้องการพัฒนาการสาธิตการเรียงลำดับสำหรับรายการรถ ฉันใช้ตารางข้อมูลเพื่อแสดงรายการรถ ตอนนี้จริงๆแล้วฉันต้องการจัดเรียงรายการตามสีรถ ที่นี่ไม่ได้เรียงตามลำดับตัวอักษร ฉันต้องการใช้ลำดับการจัดเรียงที่กำหนดเองเช่นรถสีแดงมาก่อนแล้วสีน้ำเงินเป็นต้น เพื่อที่ฉันพยายามที่จะใช้ Java ComparatorและComparableแต่มันจะช่วยให้การเรียงลำดับตามตัวอักษรเท่านั้น มีใครช่วยแนะนำวิธีการนำเทคนิคไปใช้ได้ไหมเพื่อให้การเรียงลำดับเร็วขึ้น class Car implements Comparable<Car> { private String name; private String color; public Car(String name, String color){ this.name = name; this.color = color; } //Implement the natural order for this class public int compareTo(Car c) { return name.compareTo(c.name); } static class ColorComparator …
92 java  sorting  enums 

3
วิธีการโพสต์คำขอ JSON โดยใช้ Apache HttpClient
ฉันมีสิ่งต่อไปนี้: final String url = "http://example.com"; final HttpClient httpClient = new HttpClient(); final PostMethod postMethod = new PostMethod(url); postMethod.addRequestHeader("Content-Type", "application/json"); postMethod.addParameters(new NameValuePair[]{ new NameValuePair("name", "value) }); httpClient.executeMethod(httpMethod); postMethod.getResponseBodyAsStream(); postMethod.releaseConnection(); มันกลับมาเรื่อย ๆ พร้อมกับ 500 ผู้ให้บริการบอกว่าฉันต้องส่ง JSON วิธีทำกับ Apache HttpClient 3.1+

11
ความแตกต่างระหว่างลองในที่สุดและลองจับ
อะไรคือความแตกต่างระหว่าง try { fooBar(); } finally { barFoo(); } และ try { fooBar(); } catch(Throwable throwable) { barFoo(throwable); // Does something with throwable, logs it, or handles it. } ฉันชอบเวอร์ชันที่สองมากกว่าเพราะมันทำให้ฉันสามารถเข้าถึง Throwable ได้ มีความแตกต่างทางตรรกะหรือรูปแบบที่ต้องการระหว่างสองรูปแบบหรือไม่? นอกจากนี้ยังมีวิธีเข้าถึงข้อยกเว้นจากประโยคสุดท้ายหรือไม่?

9
ฉันจะเขียนแอปพลิเคชัน Java ที่สามารถอัปเดตตัวเองที่รันไทม์ได้อย่างไร
ฉันต้องการติดตั้งแอปพลิเคชัน java (แอปพลิเคชันเซิร์ฟเวอร์) ที่สามารถดาวน์โหลดเวอร์ชันใหม่ (ไฟล์. jar) จาก URL ที่กำหนดจากนั้นอัปเดตตัวเองเมื่อรันไทม์ วิธีใดดีที่สุดในการทำเช่นนี้และเป็นไปได้หรือไม่? ฉันเดาว่าแอปพลิเคชันสามารถดาวน์โหลดไฟล์. jar ใหม่และเริ่มต้นได้ แต่ฉันจะส่งมอบอย่างไรเช่นรู้ว่าเมื่อแอปพลิเคชันใหม่เริ่มทำงานแล้วจึงออก หรือมีวิธีที่ดีกว่านี้หรือไม่?

3
เหตุใดคำอธิบายประกอบที่ขาดหายไปจึงไม่ทำให้เกิด ClassNotFoundException ที่รันไทม์
พิจารณารหัสต่อไปนี้: อ. จาวา: import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) @interface A{} ค. java: import java.util.*; @A public class C { public static void main(String[] args){ System.out.println(Arrays.toString(C.class.getAnnotations())); } } การรวบรวมและเรียกใช้งานได้ตามที่คาดไว้: $ javac *.java $ java -cp . C [@A()] แต่ให้พิจารณาสิ่งนี้: $ rm A.class $ java -cp . C [] ฉันคาดว่ามันจะขว้างClassNotFoundExceptionเพราะ@Aหายไป แต่กลับทิ้งคำอธิบายประกอบอย่างเงียบ ๆ …
92 java  annotations 

9
เหตุใด Spring MVC จึงตอบสนองด้วย 404 และรายงาน“ ไม่พบการแมปสำหรับคำขอ HTTP ที่มี URI […] ใน DispatcherServlet”
ฉันกำลังเขียนแอปพลิเคชัน Spring MVC ที่ติดตั้งบน Tomcat ดูตัวอย่างขั้นต่ำสมบูรณ์และตรวจสอบได้ต่อไปนี้ public class Application extends AbstractAnnotationConfigDispatcherServletInitializer { protected Class<?>[] getRootConfigClasses() { return new Class<?>[] { }; } protected Class<?>[] getServletConfigClasses() { return new Class<?>[] { SpringServletConfig.class }; } protected String[] getServletMappings() { return new String[] { "/*" }; } } ที่ไหนSpringServletConfigเป็น @Configuration @ComponentScan("com.example.controllers") @EnableWebMvc public …

5
ฉันควรใส่คำอธิบายประกอบ @Transactional ไว้ที่ใดที่นิยามอินเตอร์เฟสหรือในคลาสการนำไปใช้งาน
คำถามจากชื่อในรหัส: @Transactional (readonly = true) public interface FooService { void doSmth (); } public class FooServiceImpl implements FooService { ... } เทียบกับ public interface FooService { void doSmth (); } @Transactional (readonly = true) public class FooServiceImpl implements FooService { ... }

10
วิธีลบเอนทิตีที่มีความสัมพันธ์ ManyToMany ใน JPA (และแถวตารางการเข้าร่วมที่เกี่ยวข้อง)
สมมติว่าฉันมีสองเอนทิตี: กลุ่มและผู้ใช้ ผู้ใช้ทุกคนสามารถเป็นสมาชิกได้หลายกลุ่มและทุกกลุ่มสามารถมีผู้ใช้ได้หลายคน @Entity public class User { @ManyToMany Set<Group> groups; //... } @Entity public class Group { @ManyToMany(mappedBy="groups") Set<User> users; //... } ตอนนี้ฉันต้องการลบกลุ่มออก (สมมติว่ามีสมาชิกหลายคน) ปัญหาคือเมื่อฉันเรียก EntityManager.remove () ในบางกลุ่มผู้ให้บริการ JPA (ในกรณีของฉันคือ Hibernate) ไม่ลบแถวออกจากตารางรวมและการดำเนินการลบล้มเหลวเนื่องจากข้อ จำกัด ของคีย์ต่างประเทศ การเรียกลบ () บน User ใช้งานได้ดี (ฉันเดาว่าสิ่งนี้เกี่ยวข้องกับความสัมพันธ์ที่เป็นเจ้าของ) ดังนั้นฉันจะลบกลุ่มในกรณีนี้ได้อย่างไร วิธีเดียวที่ฉันสามารถทำได้คือโหลดผู้ใช้ทั้งหมดในกลุ่มจากนั้นให้ผู้ใช้ทุกคนลบกลุ่มปัจจุบันออกจากกลุ่มของเขาและอัปเดตผู้ใช้ แต่ดูเหมือนว่าไร้สาระสำหรับฉันที่จะเรียกอัปเดต () กับผู้ใช้ทุกคนจากกลุ่มเพื่อให้สามารถลบกลุ่มนี้ได้
92 java  hibernate  jpa  orm 

9
Selenium Web Driver และ Java ไม่สามารถคลิกองค์ประกอบที่จุด (x, y) องค์ประกอบอื่น ๆ จะได้รับคลิก
ฉันใช้การรออย่างชัดเจนและฉันมีคำเตือน: org.openqa.selenium.WebDriverException: องค์ประกอบไม่สามารถคลิกได้ที่จุด (36, 72) องค์ประกอบอื่น ๆ จะได้รับคลิก: ... ระยะเวลาคำสั่งหรือหมดเวลา: 393 มิลลิวินาที หากฉันใช้Thread.sleep(2000)ฉันไม่ได้รับคำเตือนใด ๆ @Test(dataProvider = "menuData") public void Main(String btnMenu, String TitleResultPage, String Text) throws InterruptedException { WebDriverWait wait = new WebDriverWait(driver, 10); driver.findElement(By.id("navigationPageButton")).click(); try { wait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(btnMenu))); } catch (Exception e) { System.out.println("Oh"); } driver.findElement(By.cssSelector(btnMenu)).click(); Assert.assertEquals(driver.findElement(By.cssSelector(TitleResultPage)).getText(), Text); }

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.