gpt4 book ai didi

java - 类似 Django 的 Java 框架

转载 作者:IT老高 更新时间:2023-10-28 20:31:19 28 4
gpt4 key购买 nike

我是一名 Java 开发人员。是否有一些用于 Java 的 Django/Ruby-on-Rails 框架?我不喜欢为我所做的每个项目创建管理面板。一遍又一遍地做同样的事情很无聊。另外,对于我的新项目,我的截止日期很短,我想使用某种 Java 框架来加快开发速度。

最佳答案

看看LightAdmin pluggable administration interface用于 Spring/JPA 支持的 Web 应用程序。

通常,在 Web 应用程序开发中,您需要有某种具有可用 UI 的管理后端,而且一直从头开始开发并在将来维护它是很无聊的。

就我个人而言,我通过简单地插入 LightAdmin 库并从 DSL 配置进行一些自定义来为我的 Java 项目解决了这个问题。

您需要做的就是在您的 web.xml 中声明 Maven 依赖项并启用管理面板。在此之后,您将拥有一个功能丰富的 UI,具有完整的 CRUD 支持、过滤、范围、安全性等。

LightAdmin的 DSL 用于管理面板自定义示例:

@Administration( Booking.class )
public class BookingAdministration {

public static ScopesConfigurationUnit scopes( final ScopesConfigurationUnitBuilder scopeBuilder ) {
return scopeBuilder
.scope( "All", all() )
.scope( "Smoking Apartments", specification( smokingApartmentsSpec( true ) ) )
.scope( "Non Smoking Apartments", specification( smokingApartmentsSpec( false ) ) )
.scope( "Long-term bookings", filter( longTermBookingPredicate() ) ).defaultScope().build();
}

public static FiltersConfigurationUnit filters( final FiltersConfigurationUnitBuilder filterBuilder ) {
return filterBuilder
.filter( "Customer", "user" )
.filter( "Booked Hotel", "hotel" )
.filter( "Check-In Date", "checkinDate" ).build();
}

public static FieldSetConfigurationUnit listView( final FieldSetConfigurationUnitBuilder fragmentBuilder ) {
return fragmentBuilder
.field( "user" ).caption( "Customer" )
.field( "hotel" ).caption( "Hotel" )
.field( "checkinDate" ).caption( "Check-In Date" )
.field( "smoking" ).caption( "Smoking" )
.field( "beds" ).caption( "Beds" )
.build();
}

public static DomainTypePredicate<Booking> longTermBookingPredicate() {
return new DomainTypePredicate<Booking>() {
@Override
public boolean apply( final Booking booking ) {
return booking.getNights() > 20;
}
};
}

public static DomainTypeSpecification<Booking> smokingApartmentsSpec( final boolean isSmokingApartment ) {
return new DomainTypeSpecification<Booking>() {
@Override
public Predicate toPredicate( final Root<Booking> root, final CriteriaQuery<?> query, final CriteriaBuilder cb ) {
return cb.equal( root.get( "smoking" ), isSmokingApartment );
}
};
}

}

关于java - 类似 Django 的 Java 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2227338/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com