我是一名 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/