Spring无法自动装载我的对象?是否可以在抽象类中自动装配对象.假设所有模式都在application-context.xml中提供
问题:基础和扩展类(如果有)@Service @Component应该是什么注释?
例
abstract class SuperMan {
@Autowire
private DatabaseService databaseService;
abstract void Fly();
protected void doSuperPowerAction(Thing thing) {
//busy code
databaseService.save(thing);
}
}
Run Code Online (Sandbox Code Playgroud)
扩展课程
public class SuperGirl extends SuperMan {
@Override
public void Fly() {
//busy code
}
public doSomethingSuperGirlDoes() {
//busy code
doSuperPowerAction(thing)
}
Run Code Online (Sandbox Code Playgroud)
应用程序的context.xml
<context:component-scan base-package="com.baseLocation" />
<context:annotation-config/>
Run Code Online (Sandbox Code Playgroud) 好的,所以在Java 7中我们有
o.hashCode();
Objects.hashCode(o);
Objects.hash(o);
Run Code Online (Sandbox Code Playgroud)
前两个与零点检查大致相同,但最后一个是什么?
提供单个对象引用时,返回的值不等于该对象引用的哈希代码.
这是为什么?我的意思是,我们不需要3种做同样事情的方法,我理解......但为什么我们需要Objects.hash()呢?你什么时候选择使用一个与另一个?
如果我有一个List<List<String>>Java数据,我可以通过代码得到第一个列表的长度:
int lengthData = data.get(0).size();
Run Code Online (Sandbox Code Playgroud)
但是如何在不遍历列表列表的情况下获取结构中的列表数量?
也许我有点不清楚.我有结构:
List<List<String>> data
Run Code Online (Sandbox Code Playgroud)
我明白了:
int i = data.size();
Run Code Online (Sandbox Code Playgroud)
将等于1,因为它是根列表.所以我想知道的是有多少个子列表.遍历这样的结构:
for (List<String> l : data) {
total ++;
}
Run Code Online (Sandbox Code Playgroud)
只给我一个我觉得奇怪的结果.
我有以下形式的数据:
List 1 ==> 1, 2, 3, 4
List 2 ==> 3, 8. 9, 1
Run Code Online (Sandbox Code Playgroud)
等等这些是根列表的子列表.
这可能是一个愚蠢的问题,但是foo()和之间有什么区别bar()吗?
private static File[] foo() {
return Collections.emptyList().toArray(new File[0]);
}
Run Code Online (Sandbox Code Playgroud)
private static File[] bar() {
return new File[0];
}
Run Code Online (Sandbox Code Playgroud)
我试图想出返回空数组的最佳方法,而不是null.
我正在尝试为我的本地运行的tomcat服务器配置log4j2.我无法将日志传递到与tomcat安装相关的位置.
如果我指定一个绝对路径它的工作原理.如果我使用相对路径,它输出到的位置System.getProperty("user.dir").
但是,当我尝试使用它${catalina.home}或${catalina.base}它不起作用.如果我在启动时输出这两个系统属性,则会定义它们并指向正确的位置.
也,
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector.我的感觉是Tomcat在处理log4j2.xml时可能没有完全初始化?任何想法将不胜感激!
这是我的log4j2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="debug" name="LoggingConfig">
<appenders>
<FastFile name="ALog" fileName="${catalina.home}/logs/test.log" immediateFlush="true" append="true">
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
</FastFile>
</appenders>
<loggers>
<logger name="a.namespace.dir" level="info" additivity="false">
<appender-ref ref="ALog"/>
</logger>
<root level="info">
<appender-ref ref="ALog"/>
</root>
</loggers>
</configuration>
Run Code Online (Sandbox Code Playgroud)
来自catalina.out
2013-07-31 11:22:00,313 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.FastFileAppender for element FastFile with params(fileName="${catalina.home}/logs/test.log", append="true", name="ALog", immediateFlush="true", suppressExceptions="null", PatternLayout(%d …Run Code Online (Sandbox Code Playgroud) 将Flyway Maven插件从2.3升级到3.0后,我得到:
[错误]无法在项目xxx上执行目标org.flywaydb:flyway-maven-plugin:3.0:migrate(default-cli):org.flywaydb.core.api.FlywayException:验证失败.发现应用迁移与可用迁移之间存在差异:迁移校验和不匹配迁移V003__data_feed_sources_locations.sql:DB = 942424992,Classpath = 1117634405 - > [帮助1]
在其他一些项目上也有类似的错误.
如果我降级回2.3,迁移运行正常.这是否与用于计算校验和的不同平台编码有关?
任何解决方法,或更好的解决方案?
我收到以下Hibernate异常:
@OneToOne or @ManyToOne on Matchup.awayTeam references an unknown entity: Team
简化的Matchup类如下所示:
@Entity public class Matchup implements Serializable
{
protected Team awayTeam;
@ManyToOne
@JoinColumn(name="away_team_id")
public Team getAwayTeam() {
return awayTeam;
}
}
Run Code Online (Sandbox Code Playgroud)
简化的Team类看起来像这样:
@Entity
public class Team implements Serializable {
protected List<Matchup> matchups;
@OneToMany(mappedBy="awayTeam", targetEntity = Matchup.class,
fetch=FetchType.EAGER, cascade=CascadeType.ALL)
public List<Matchup> getMatchups() {
return matchups;
}
}
Run Code Online (Sandbox Code Playgroud)
笔记:
任何人都可以阐明为什么会发生这种异常吗?
我有两个与CMake相关的问题
1)假设我们有一个变量${MY_CURRENT_DIR},它包含一个包含几个子目录的目录路径:mydir1,mydir2和mydir3.我想检测这些子目录并将其名称放入${SUBDIRS}(不是这些目录的完整路径,只是它们的名称).如何自动完成?
2)假设${SUBDIRS}包含"mydir1 mydir2 mydir3".如何更换
ADD_SUBDIRECTORY(mydir1)
ADD_SUBDIRECTORY(mydir2)
ADD_SUBDIRECTORY(mydir3)
Run Code Online (Sandbox Code Playgroud)
循环结束${SUBDIRS}?
非常感谢你.
我正在使用react starter kit进行客户端编程.它使用react和webpack.没有index.html或任何要编辑的html,所有js文件.我的问题是,如果我想从云加载供应商js lib,我该怎么做?
在html文件中很容易做到这一点. <script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
但是,在js文件中,它只使用npm安装的包.如何在没有html文件的情况下导入上面的lib?我尝试导入和require,它们只适用于本地文件.
更新10/21/15到目前为止,我尝试了两个方向,既不理想.
<div id="app" dangerouslySetInnerHTML={{__html: this.props.body}} />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>
<script src="/app.js"></script>
<script dangerouslySetInnerHTML={this.trackingCode()} />
</body>
Run Code Online (Sandbox Code Playgroud)
好消息是它有效,我不需要在js文件中做任何其他事情,没有导入或要求.但是,现在我有两个以不同方式加载的jquery库.一个在这里,另一个通过npm和webpack.我想知道以后会给我带来麻烦.如果我在浏览器窗口中键入无主路径,由于服务器端加载,我使用的react-routing给出了'未定义变量'错误.所以这个解决方案不是很好.
<script src="https://forio.com/tools/js-libs/1.5.0/epicenter.min.js"></script>html.我想列出指定目录中的所有FILES和该目录中的子目录.不应列出任何目录.
我目前的代码如下.它无法正常工作,因为它只列出指定目录中的文件和目录.
我怎样才能解决这个问题?
final List<Path> files = new ArrayList<>();
Path path = Paths.get("C:\\Users\\Danny\\Documents\\workspace\\Test\\bin\\SomeFiles");
try
{
DirectoryStream<Path> stream;
stream = Files.newDirectoryStream(path);
for (Path entry : stream)
{
files.add(entry);
}
stream.close();
}
catch (IOException e)
{
e.printStackTrace();
}
for (Path entry: files)
{
System.out.println(entry.toString());
}
Run Code Online (Sandbox Code Playgroud)
问候.