我使用jHipster生成了一个Spring Boot应用程序,添加了我之前项目(非jhipster项目)中的一些代码,并尝试使用IDEA运行它.首先我收到类似于此的错误消息,说"命令行太长了..."(我正在运行Windows 10 x64).我点击启用,但后来我得到了这样的错误:
"C:\Program Files\Java\jdk1.8.0_144\bin\java" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51351,suspend=y,server=n -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=51350 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true -Dfile.encoding=UTF-8 -classpath C:\Users\User\AppData\Local\Temp\classpath.jar com.test.pc.TestPartsComposerApp
Connected to the target VM, address: '127.0.0.1:51351', transport: 'socket'
The Class-Path manifest attribute in C:\Users\User\AppData\Local\Temp\classpath.jar referenced one or more files that do not exist: .... Extremely long list of jars
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Included patterns for restart : []
07:48:56.779 [main] DEBUG org.springframework.boot.devtools.settings.DevToolsSettings - Excluded patterns for restart : [/spring-boot-starter/target/classes/, /spring-boot-autoconfigure/target/classes/, /spring-boot-starter-[\w-]+/, /spring-boot/target/classes/, /spring-boot-actuator/target/classes/, …
Run Code Online (Sandbox Code Playgroud) 如何更有效地使用路由器 Observables?例如,如果我需要加载单个路由参数(假设我们有一个类似的路由/some-resource/:id
),我需要订阅路由器事件,然后订阅路由参数以获取值。这需要两次订阅和两次取消订阅。
我想要:
样本
export class SomeComponent implements OnInit, OnDestroy {
private routerSub: Subscription;
private routeSub: Subscription;
someResource: Observable<SomeResourceType>;
constructor(private someService: SomeService,
private route: ActivatedRoute,
private router: Router) {
this.routerSub = this.router.events.subscribe((event) => {
if (event instanceof NavigationEnd) {
this.routeSub = this.route.params.subscribe((params) => {
if (params['id']) {
this.someResource = this.someService.findById(params['id']);
// will access the resource using async pipe later
}
});
}
});
}
ngOnInit(): void {
}
ngOnDestroy(): void {
this.routerSub.unsubscribe();
this.routeSub.unsubscribe();
}
} …
Run Code Online (Sandbox Code Playgroud) 我在Windows 上安装了Java9(Oracle网站上当前可用的版本)(Windows 10 x64 Professional,也是最新的,作为vmware虚拟机运行 - > VMware Workstation 12).我添加jdk\bin
到用户路径并尝试使用Git Bash执行命令,但即使JShell
启动,它也不会在按下后执行任何命令Enter
,它只是坐在那里而不做任何事情.
有趣的是,它与Windows的默认命令行完美的作品CMD
或Powershell
.如果我没记错,Git Bash是基于Cygwin的.这可能是什么原因?
此外,它没有直接连接JShell
,但我在一台不同的机器上有一些类似的问题,有一些命令行工具,如JHipster(适用于CMD但不适用于GitBash).
必要的截图: -
编辑:使用jshell -v
并没有什么区别.此外,使用任何REPL帮助程序命令,/help
或/help intro
使shell也停止.
我已经习惯了Jetbrains IDEA和Java,但是现在我在.NET / C#中有一个使用Visual Studio 2017(社区)的项目。
如果我在IDEA中调试代码,则可以始终使用IDE的“评估表达式”功能在断点处停止执行时运行代码:https : //www.jetbrains.com/help/idea/evaluating-expressions.html (尽管它是用于PyCharm的,但Java的工作原理是相同的:GIF)。
在Visual Studio中有类似的东西吗?
我试图设计一个数据结构,以便于快速查询(删除,插入更新速度对我来说并不重要).
问题:传递关系,一个条目可以通过其他条目建立关系,其关系我不想为每种可能性单独保存.
意味着 - >我知道Entry-A与Entry-B有关,并且知道Entry-B与Entry-C有关,即使我不明确知道Entry-A与Entry-C有关,I想查询它.
我认为解决方案是:
插入,删除或更新时消除传递部分.
Entry:
id
representative_id
Run Code Online (Sandbox Code Playgroud)
我会将它们存储为集合,例如条目组(不是mysql集类型,数学集,对不起,如果我的英语错误).每个集合都有一个代表性条目,所有集合元素都与代表性元素相关.
新插入将插入Entry并将代表设置为自身.
如果新插入的条目应该连接到另一个,我只需将新插入的条目的代表ID设置为引用条目的rep.id.
将B附加到A.
没关系,如果我需要将它连接到不是代表性条目的东西,它将是相同的,因为集合中的每个条目都具有相同的rep.id.
将C附加到B
分离BC:分离的项目将成为代表性条目,这意味着它将与自身相关.
拆分BC并将C连接到X.
删除:如果我删除了非代表性条目,则可以自我解释.但删除rep.entry有点困难.我需要为集合选择一个新的rep.entry,并将每个集成员的rep.id设置为新的rep.entry的rep.id.
所以,删除A:
结果如下:
你怎么看待这件事?这是一种正确的方法吗?我错过了什么吗?我应该改进什么?
编辑:查询:所以,如果我想查询与某个条目相关的每个条目,其id我知道:
SELECT*FROM条目LEFT JOIN条目b ON(a.rep_id = b.rep_id)WHERE a.id =:id
SELECT * FROM AlkReferencia
WHERE rep_id=(SELECT rep_id FROM AlkReferencia
WHERE id=:id);
Run Code Online (Sandbox Code Playgroud)
关于需要这个的应用程序:
基本上,我存储车辆部件号(参考),一个制造商可以制造多个部件,可以替换另一个,另一个制造商可以制造替换其他制造商部件的部件.
参考:一个制造商的OEM编号到某个产品.
交叉引用:制造商可以制造出旨在替换其他制造商的产品的产品.
我必须以某种方式连接这些引用,当客户搜索数字时(无论他有什么类型的数字)我可以列出确切的结果和替代产品.
要使用上面的示例(最后一张图片):B,D和E是我们可能存储的不同产品.每个人都有一个制造商和一个字符串名称/参考(我之前称之为数字,但它几乎可以是任何字符链).如果我搜索B的参考编号,我应该返回B作为精确结果,D,E作为替代.
到现在为止还挺好.但我需要上传这些参考号码.我不能只是从ALL-IN-ONE数据库迁移它们.大多数时候,当我上传我从制造商处获得的参考资料时(不知何故,大部分时间都来自手工,但我也可以使用目录),我只得到一个列表,制造商告诉哪些其他参考编号指向他的编号.
例.:
Asas过滤器制造商,"AS 1"过滤器有这些交叉引用(意味着,替换这些):
GOLDEN SUPER --> 1
ALFA ROMEO --> 101000603000
ALFA ROMEO --> 105000603007
ALFA ROMEO --> 1050006040
RENAULT TRUCKS (RVI) --> 122577600
RENAULT TRUCKS (RVI) --> 1225961
ALFA ROMEO --> …
Run Code Online (Sandbox Code Playgroud) 有没有办法获得IDE对CasperJS功能的支持?我目前正在使用PhpStorm,但也试过netbeans,它不知道定义了哪些函数.我得到Unresolved variable / undefined function
所有功能的IDE警告是非常恼人的.
我开发了一个 Spring Boot 应用程序,并尝试在我的一个模型中包含一个Optional<String>
( java.lang
) 字段,因此如果@RestController
我使用的 不会获得这样的字段,它将作为Optional.empty()
. 每次我通过 POST 调用该方法时,都会出现java.lang.NoSuchFieldError: _valueInstantiator
异常。我开始试验并制作了一个精简版的反序列化器,但仍然给我错误:
该模型:
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import java.util.Optional;
@JsonInclude(JsonInclude.Include.USE_DEFAULTS)
@JsonIgnoreProperties(ignoreUnknown = true)
public class Test {
private int id;
private String name;
private Optional<String> nickname;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Optional<String> getNickname() { …
Run Code Online (Sandbox Code Playgroud) 我正在研究一个简单的前端控制器,主要用于学习目的.
我喜欢Symfony的路由方式,在你的地图中有这样的模式:/news/{category}/{id}
并将类别和id变量传递给控制器.但我的问题是 - 因为我无法使用RegEx - 我不知道,如何将模式匹配到URI.
我该怎么配?
/news/{category}/{id}
Run Code Online (Sandbox Code Playgroud)
至
/news/tech/5784
Run Code Online (Sandbox Code Playgroud)
我应该允许这样的模式:/news/*
- 哪里*
匹配一切?或者变量与某些垃圾混合在一起,像这样/news/{category}_ex/14{id}
?
获取变量和值并不是问题,但是为匹配编写正则表达式是.
提前谢谢你的帮助
我在我的 Spring Boot 项目中使用QueryDSL并计划使用 Spring 的网络支持(当前查询 dsl web docs)。问题是,我找不到有关使用不同运算符的任何信息。如何定义not equals
或matches regex
操作?乍一看,它所做的只是将您的?fieldname=value
格式GET
请求转换为您在存储库中设置的预定义操作。我可以以某种方式扩展它以允许对同一字段进行多次操作吗?
例子。:
目前我可以Predicate
通过传递 URL 参数来获取 QueryDsl ,例如?user.company.id=1
:
@Controller
class UserController {
@Autowired UserRepository repository;
@RequestMapping(value = "/", method = RequestMethod.GET)
Page<User> getUsers(@QuerydslPredicate(root = User.class) Predicate predicate,
Pageable pageable) {
return repository.findAll(predicate, pageable);
}
}
Run Code Online (Sandbox Code Playgroud)
但正如我链接的文档所述,我只能为某个字段定义一个操作。如果我想要用户,从哪里user.lastName
开始并且仍然可以查询完全匹配怎么办?(?lastName=Xyz,contains
和?lastName=Xyz,equals
可能)
在QuerydslBinderCustomizer
每场的基础上定义了一些操作,但你只能定义如何处理特定领域,有没有可能添加多个操作。
也许我不能用 QueryDSL 做到这一点,但是通常在 Spring Boot 中,您如何将过滤器应用于搜索查询?
我必须使用Smalltalk返回第n 个斐波那契数,我以前没有使用过这种语言。该程序将1返回到任何输入,我不知道为什么。我认为它甚至没有迭代for循环。有人可以帮我吗?谢谢。
'Which fibonacci number do you want? (n>2)' printNl.
n := stdin nextLine asInteger.
(n <= 2)
ifTrue: ['Type a larger number, F(1) and F(2) equals 1!' displayNl.]
ifFalse: [
result:= 1.
parent := 1.
gparent := 1.
2 to: n do: [ :i | [
result := (parent + gparent).
gparent := parent.
parent := result.
'come on, do something' displayNl.
]
].
result displayNl.
].
Run Code Online (Sandbox Code Playgroud) 如何将对象的所有属性设置为等于另一个?就像在我的例子中,TCar基本上是一个Car,我怎样才能将共享变量设置为相等?在Java中,如果我没记错的话,我可以轻松地做到这一点.
class Car {
}
class TCar : Car {
}
Car car = new Car();
TCar datcar = new TCar();
datcar = car; Error? Isn't the datcar is a 'Car' too?
Run Code Online (Sandbox Code Playgroud)
我不想手动设置一切.
我在 MySQL 中使用 Spring Boot 1.5 和 Spring Data JPA。我试图在单个表上运行一个简单的计数查询,但找不到比这更好的映射查询结果的方法。:
存储库:
public interface VehicleRepository extends JpaRepository<Vehicle, String> {
@Query("select v.sourceModule as sourceModule, count(v) as vehicleCount from Vehicle v group by v.sourceModule")
List<Object[]> sourceModuleStats();
}
Run Code Online (Sandbox Code Playgroud)
服务:
@Override
public List<SourceModuleStatDTO> getSourceModuleStats() {
List<Object[]> objects = vehicleRepository.sourceModuleStats();
return objects.stream()
.map(o->SourceModuleStatDTO.from((String)o[0], (Long)o[1]))
.collect(Collectors.toList());
}
Run Code Online (Sandbox Code Playgroud)
我使用org.immutables,所以 DTO.:
@Value.Immutable
@JsonSerialize(as = ImmutableSourceModuleStatDTO.class)
@JsonDeserialize(as = ImmutableSourceModuleStatDTO.class)
public abstract class SourceModuleStatDTO {
public abstract String sourceModule();
public abstract long vehicleCount();
public static SourceModuleStatDTO from(String sm, long …
Run Code Online (Sandbox Code Playgroud) java ×4
spring ×3
spring-boot ×3
ide ×2
angular ×1
c# ×1
casperjs ×1
debugging ×1
equation ×1
for-loop ×1
git-bash ×1
inheritance ×1
jackson ×1
java-9 ×1
jdbctemplate ×1
jhipster ×1
jshell ×1
match ×1
maven ×1
mysql ×1
object ×1
optional ×1
phantomjs ×1
php ×1
phpstorm ×1
querydsl ×1
rxjs ×1
smalltalk ×1
syntax ×1
typescript ×1
uri ×1