Django like framework for Java [已关闭]
2022-09-01 15:11:42
我是一名Java开发人员。有没有一些Django/Ruby-on-Rails类型的Java框架?我不喜欢为我做的每个项目创建管理面板。一次又一次地做同样的事情很无聊。同样对于我的新项目,我有一个很短的截止日期,我想使用某种Java框架来加速开发。
我是一名Java开发人员。有没有一些Django/Ruby-on-Rails类型的Java框架?我不喜欢为我做的每个项目创建管理面板。一次又一次地做同样的事情很无聊。同样对于我的新项目,我有一个很短的截止日期,我想使用某种Java框架来加速开发。
看看适用于 Spring/JPA 支持的 Web 应用程序的 LightAdmin 可插拔管理界面。
通常,在Web应用程序开发中,您需要具有某种具有可用UI的管理后端,并且一直从头开始开发它并在将来维护它是很无聊的。
就个人而言,我通过简单地插入LightAdmin库并从DSL配置进行一些自定义来为我的Java项目解决了这个问题。
您需要做的就是声明 Maven 依赖项并在 Web.xml中启用管理面板。在此之后,您将拥有功能丰富的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 );
}
};
}
}
最近我发现了一个看起来很像django的框架。它被称为playframework,你可以在这里找到它:
我建议您观看首页上的视频。
另一个基于Java的类似django的框架是Spring Roo,但在我看来,它还没有完全准备好。上次我使用它时,文档几乎不存在。