jjzjj

initialization

全部标签

java - Spring 启动 : restarter not initialized

当springboot版本为1.5.3.RELEASE时,启动应用程序出现如下错误堆栈跟踪:java.lang.IllegalStateException:Restarterhasnotbeeninitializedatorg.springframework.util.Assert.state(Assert.java:392)~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]atorg.springframework.boot.devtools.restart.Restarter.getInstance(Restarter.java:563)~

java - 将哈希函数委托(delegate)给 hibernate 中未初始化的委托(delegate)会导致更改哈希代码

我对使用hibernate委托(delegate)给未初始化对象的hashCode()有问题。我的数据模型如下所示(以下代码经过高度修剪以强调问题并因此损坏,请勿复制!):classCompound{@FetchType.EAGERSetparts=newHashSet();StringsomeUniqueName;publicinthashCode(){finalintprime=31;intresult=1;result=prime*result+((getSomeUniqueName()==null)?0:getSomeUniqueName().hashCode());retur

Java数组对象初始化

我只想问,是否可以在一个命令中使用相同的构造函数初始化多个对象?代码示例:Tile[]tiles=newTile(5,5)[20];感谢回复。 最佳答案 据我所知不可能。代码Tile[]tiles=newTile[20];只是创建了一个引用数组。要填充数组,您应该创建一个Tile对象,然后将引用分配给数组的一个索引,例如:tiles[0]=newTile(5,5);如果指向同一个对象的数组的所有元素都可以,你可以简单地填充数组:Tiletiles=newTile[20];Arrays.fill(tiles,newTile(5,5))

java - 为什么在 Java 中允许初始化对 Null 的引用?

在以下使用JDBC的示例中(尽管这个问题并不特定于JDBC):Connectionconn=null;try{.....DothenormalJDBCthinghere....}catch(SQLExceptionse){if(conn!=null){conn.close();}}如果我没有将conn初始化为null那么编译器会提示说在catchblock中我不能使用一个没有的引用被初始化。Java默认将对象引用初始化为null那么为什么我需要显式地将其初始化为null。如果编译器不喜欢以null开头的引用的原始值,为什么它甚至接受我的显式初始化?注意:我使用EclipseLuna作为

java - Hibernate : could not initialize proxy - no Session 中的 LazyInitializationException

我从我的服务中调用dao@Override@TransactionalpublicProductgetProductById(intid){returnproductDao.getProductById(id);}在dao中我得到的产品是@OverridepublicProductgetProductById(intid){Productp=sessionFactory.getCurrentSession().load(Product.class,id);System.out.print(p);returnp;}这运行良好,但如果我将我的dao类更改为@OverridepublicPr

java - 为什么我可以在java中创建一个0行5列的二维数组?

int[][]a=newint[0][5];为什么上面的代码在java中有效?这个二维数组几乎没有用,因为第一个维度是零。从逻辑上讲,如果第一个维度为0,则第二个维度不应大于0。我知道我们可以启动一个一维空数组。 最佳答案 BytheJLS,指示大小为零的数组表达式是有效的-它只是一个表达式-因此您可以合法声明基数为零的n维数组。JLS词法分析器唯一检查的(从Java8开始)是whetherornottheexpressionevaluatestozero:Next,thevaluesofthedimensionexpression

java - SLF4J/JPA/JAX-RS 如何找到它们的实现?

我正在学习Java,我发现有许多标准化的功能:日志记录(使用SLF4J)持久性(使用JPA)REST(使用JAX-RS)SOAP(使用JAX-WS)等等让我们以Sl4j为例:要将其与log4j一起正确使用,我们必须导入sl4japi、sl4j/log4j桥和log4j实现。问题:在我的类里面,我只与Slf4jAPI进行通信。我的应用程序如何知道log4j实现?有人可以解释幕后发生的事情吗?问候 最佳答案 OP提出了一个关于在某些不同情况下如何注入(inject)实现的一般性问题。记录如许多答案所述,SLF4J提供接口(interfa

java - 从另一个列表初始化列表的一行

我想以最短的方式初始化我的Dto列表。现在我正在使用:publicListitemsToDto(Listitems){ListitemsDto=newArrayList();for(SomeItemitem:items){itemsDto.add(itemToDto(item));}returnitemsDto;}有什么方法可以让它成为单行的吗? 最佳答案 您可以使用stream并进一步mapping作为:returnitems.stream().map(item->itemToDto(item))//mapSomeItemtoSo

java - Selenium 网络驱动程序 : Page factory initialization using paths relative to other elements?

我正在尝试使用页面工厂@FindBy注释在SeleniumWebdriver中编写一个页面对象。页面对象用于侧边栏,包含页面对象需要与之交互的所有元素的父WebElement以这种方式初始化:@FindBy(xpath="//div[contains(@class,'yui3-accordion-panel-content')andchild::div[.='Sidebar']]")WebElementsidebar;然后我想要相对于此sidebar元素的搜索输入。有没有办法引用sidebar元素?我可以将整个路径复制并粘贴到开头:@FindBy(xpath="//div[contai

java - 构造函数是如何执行的?

我正在对讲座幻灯片进行一些修改,它说构造函数按以下方式执行:如果构造函数以此开头,则递归执行指示的构造函数,然后转到第4步。调用显式或隐式指示的父类(superclass)构造函数(除非此类是java.lang.Object)。按照在此类中声明的顺序初始化对象的字段。执行此构造函数主体的其余部分。我不明白的是,构造函数永远不能以此“开始”,因为即使它不形成类层次结构/关系,也会默认插入super()。这如何符合上面的描述? 最佳答案 构造函数(对于除java.lang.Object之外的每个类)必须以“super()”开头以调用其父