小编pio*_*b86的帖子

Errai经验:用户界面,通信,依赖注入

我对GWT,GIN和GWTP-dispatch有广泛的经验,因为我没有任何Errai经验,我想问你是否真的是在Errai上构建整个单页富Web应用程序作为基础的好选择.如果您对Errai有广泛的经验,那么很高兴收到您的来信.

我正在构建一个视频流媒体网络应用程序.让我们说它是另一个YouTube(布局,动作,流程等),但是类固醇(不相关).

我已经阅读了Errai的全部文档,这是我的疑虑/问题.

  1. Errai JAX-RS - 我对任何复杂的消息都不感兴趣Errai因服务器 - >客户端,客户端 - >客户端,广播,对话等而闻名.我希望通过RS进行简单的AJAX调用.显而易见的是通信性能,没有冗余调用,只有单个HTTP请求和响应?
    这里提到的限制怎么样(如何使用Errai将GWT与JAX-RS/RESTEasy服务器集成?):这些是最新的,我必须考虑到一些Errai限制来实现REST服务吗?

  2. Errai IoC/CDI - GIN对我来说似乎更成熟,绝对更受欢迎(带来所有好处).但看起来他们可以完美地共存,或者我应该选择其中一个?让许多Errai bean(如Caller)注入一个注释是很好的.对于我的理解,我不需要CDI.如果我在我的项目中使用Errai IOC,我可以通过CDI获得哪些附加功能?我是否必须在我的类路径上使用它以便所有内容都由ioc容器实例化?
    我是否理解正确:IoC可以实现简单的布线,CDI是我可以实际配置和实例化注入的bean的地方吗?例如@Produces在CDI中,而不在IOC中.你能解释一下Errai IOC和CDI在纯DI背景下的区别吗?我知道一个人是另一个人的超集,但我仍然不太明白.

  3. Errai数据绑定:很棒,很棒的功能但它扭曲了MVP模式.Currenlty我已经在基本MVP中编写了我的应用程序(没有mvp框架,模型和视图之间没有交互).我可以从演示者管理@Model上的数据绑定,而不是从视图管理数据绑定(这将使用带有Errai UI的HTML模板)吗?

  4. Errai UI:在数据绑定和连线View类中,如何使用像CellTable这样的GWT现有小部件?
    一般来说,在使用Errai编写更复杂的小部件(例如带有寻呼机的图像库)时,您会使用什么方法?您是否利用现有的GWT小部件(如CellTable) - 单个重型小部件 - 或者更确切地说是在html模板中布局所有内容,并将某些div连接到View类中相应的数据字段 - 更轻量级的小部件?我已经看到了Errai UI的一位作者的观点:
    关于Errai UI的好处是你只是将这个模板文件转储到你的项目中然后你说"好的这块模板属于这个组件"或"这个模板的一部分属于这个其他组件".你可以将这些东西连接在一起,你的模板就会在你面前呈现 - 就在浏览器中.
    所以,假设我有一个整个图库的html布局.显然我不想用CellTable重新创建它,但是利用那个布局,所以我必须能够:创建整个图像库作为一个复合材料,它本身必须连接到布局中的最外层元素并连接每个数据-field到我的Composite类中的相应属性.那可能吗?

服务器应该是GWT/Errai不可知的:在服务器端,我想尽可能少地使用Errai(因为我不想要像我所说的任何花哨的通信功能)并使用Spring on Jetty或Tomcat维护应用程序.

通过添加新技术作为基础,即在其上构建整个应用程序,总是存在一种风险,即它不够灵活,这意味着需要一些黑客来克服不可预见的障碍,或者在某些可怕的情况下,整个技术将不得不被遗弃

最后一个简单的问题:errai的在线javadoc在哪里?

gwt jax-rs inversion-of-control cdi errai

8
推荐指数
1
解决办法
575
查看次数

gwt + jetty + spring + log4j 错误:“DOMConfigurator 对象不可分配给配置器”

网络上的几个来源都提到了这个问题,但我无法使用那里提供的解决方案来解决它。

问题:发出mvn gwt:run时,log4j 抛出以下错误:

[ERROR] log4j:ERROR A "org.apache.log4j.xml.DOMConfigurator" object is not assignable to a "org.apache.log4j.spi.Configurator" variable.
[ERROR] log4j:ERROR The class "org.apache.log4j.spi.Configurator" was loaded by
[ERROR] log4j:ERROR [sun.misc.Launcher$AppClassLoader@23137792] whereas object of type
[ERROR] log4j:ERROR "org.apache.log4j.xml.DOMConfigurator" was loaded by [WebAppClassLoader=Demo@3d1665ac].
[ERROR] log4j:ERROR Could not instantiate configurator [org.apache.log4j.xml.DOMConfigurator].
Run Code Online (Sandbox Code Playgroud)

我的项目描述:我使用 gwt 提供的默认码头服务器并在爆炸战争中运行它。

<gwt.version>2.6.1</gwt.version>
<spring.version>3.2.6.RELEASE</spring.version>
<log4j.version>1.2.17</log4j.version>
<slf4j.version>1.7.5</slf4j.version>

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>${log4j.version}</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <scope>runtime</scope>
</dependency>
<!-- Normally this jar would be listed in dependencies but in …
Run Code Online (Sandbox Code Playgroud)

gwt logging spring log4j jetty

4
推荐指数
1
解决办法
7486
查看次数

Spring Boot 社交登录和 Google 日历 API

问题

通过 Spring Security OAuth2 重用最终用户 Google 身份验证来访问 Web 应用程序中的 Google Calendar API

描述

我能够通过 Spring Security 登录创建一个小型 Spring Boot Web 应用程序

应用程序.yaml

spring:
  security:
    oauth2:
      client:
        registration:
          google:
            client-id: <id>
            client-secret: <secret>
            scope:
              - email
              - profile
              - https://www.googleapis.com/auth/calendar.readonly
Run Code Online (Sandbox Code Playgroud)

当应用程序启动时,我可以访问http://localhost:8080/user并要求用户登录谷歌。成功登录后,配置文件 json 将作为以下响应显示在浏览器中:

安全控制器

@RestController
class SecurityController {
    @RequestMapping("/user")
    fun user(principal: Principal): Principal {
        return principal
    }
}
Run Code Online (Sandbox Code Playgroud)

安全配置.kt

@Configuration
class SecurityConfiguration : WebSecurityConfigurerAdapter() {
    @Throws(Exception::class)
    override fun configure(http: HttpSecurity) {
        http.authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .oauth2Login()
    }
}
Run Code Online (Sandbox Code Playgroud)

问题 …

google-calendar-api google-oauth spring-boot spring-security-oauth2 google-signin

3
推荐指数
1
解决办法
1789
查看次数