小编Her*_*erb的帖子

Vue.js:定义一个服务

我正在考虑将Vue.js作为Angular的替代品,到目前为止我非常喜欢它.为了感受它,我将现有的Angular项目重构为Vue项目.我只是需要与REST API进行通信.

在Angular中,我曾经为此定义了一个服务,它被注入到需要它的每个控制器中.据我所知,Vue似乎并不知道"服务"结构.如何在Vue中实现这一目标?

我考虑过vue-resource,但据我所知,它仅适用于http功能.因为我也使用jQuery,这已经过时了.

例:

我有vueComponent1vueComponent2.两者都需要访问相同的REST资源.为了解决这个问题,我想要一个中央服务,这两个组件都可以用来处理对REST资源的请求.Angular有"服务​​"组件,正是这样做的.Vue没有.

javascript rest vue.js

69
推荐指数
5
解决办法
5万
查看次数

使用Objects.hash()或自己的hashCode()实现?

我最近发现了这种Objects.hash()方法.

我的第一个想法是,这会整理你的hashCode()实施.请参阅以下示例:

@Override
//traditional
public int hashCode() {
    int hash = 5;
    hash = 67 * hash + (int)(this.id ^ (this.id >>> 32));
    hash = 67 * hash + (int)(this.timestamp ^ (this.timestamp >>> 32));
    hash = 67 * hash + Objects.hashCode(this.severity);
    hash = 67 * hash + Objects.hashCode(this.thread);
    hash = 67 * hash + Objects.hashCode(this.classPath);
    hash = 67 * hash + Objects.hashCode(this.message);
    return hash;
}

@Override
//lazy
public int hashCode() {
    return Objects.hash(id, timestamp, severity, thread, …
Run Code Online (Sandbox Code Playgroud)

java hash

50
推荐指数
4
解决办法
7046
查看次数

Spring + JPA/Hibernate 不保存多对多映射

情况

我有一个RoleEntity和一个UserEntity。ARoleEntity包含列表UserEntity,反之亦然,从而产生Many-To-Many关系。

我的UserEntity

public class UserEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;
    @Column(unique = true, nullable = false)
    private String username;
    @Column(name = "first_name", nullable = false)
    private String firstName;
    @Column(name = "last_name", nullable = false)
    private String lastName;
    @Column(nullable = false)
    private String email;

    @ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.REFRESH)
    @JoinTable(name = "uas_user_role",
        joinColumns = @JoinColumn(name = "uas_user_id", referencedColumnName = "id"),
        inverseJoinColumns = …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa

6
推荐指数
1
解决办法
4743
查看次数

如何使用 flyway 和单数据库处理模块化弹簧项目

情况

我有一个模块化Spring Boot项目。作为数据库模式管理器,我想使用Flyway. 如前所述,该项目是模块化的。这是因为会有使用不同模块的不同配置。这意味着,我想将与模块相关的所有内容打包到其特定项目中。有了Flyway这个似乎没那么简单。

问题

我理想中的想象:

ApplicationA
|
|_Module1
|  |
|  |_db/migration
|       |
|       |_V1__InitModule1Tables
|       |_V2__MigrateSomeTable
|      
|_Module2
   |
   |_db/migration
        |
        |_V1__InitModule2Tables
        |_V2__MigrateSomeTable
Run Code Online (Sandbox Code Playgroud)

每个模块都独立定义自己的飞行脚本,因为无论如何它们都不知道彼此的存在。每个模块显然都需要在共享数据库中拥有自己的飞行历史表。这样,整个系统解耦和配置下一个应用程序ApplicationB使用Module1,并Module3不会是一个麻烦。

好吧,我没有找到Flyway达到此解决方案的任何配置可能性。

我试过的

在每个模块中做这样的事情显然是一个坏主意,因为 bean 的初始化/执行顺序是相当随机的,导致当我需要它们用于其他配置时没有创建表。也显得凌乱。

@Configuration
public class Module1Config {

    @Autowired
    public void flyway(DataSource dataSource) {
    Flyway flyway = new Flyway();
    flyway.setBaselineOnMigrate(true);
    flyway.setTable(flyway.getTable() + "-module1");
    flyway.setDataSource(dataSource);
    flyway.migrate();
    }
}
Run Code Online (Sandbox Code Playgroud)

我不认为我是第一个试图实现这一目标的人。我怎样才能达到所需的模块化Flyway配置?

*更新*

解决方案

以下解决方案以重复主题所建议的方式工作,对我有用:

我在我的base …

modularity database-migration flyway spring-boot spring-config

6
推荐指数
1
解决办法
2081
查看次数

为NgModule和Component提供服务之间的区别

我们刚刚开始使用angular2的第一个项目.我有一个关于提供服务的问题.

据我所知,有两种方法可以providers:[MyService]在您的应用中声明提供商.您可以在@NgModule标记中全局声明它,也可以在标记中本地声明它@Component.

据我所知,这两种方式的唯一区别在于提供范围.适用范围广,一次只有组件范围.出于这一点,我会得出结论,我应该更喜欢在我的特定组件中提供本地服务(取决于服务的用途)以保持范围小.

这是正确的,还是两种宣言方式之间还有其他差异,我不知道?

angular

5
推荐指数
1
解决办法
653
查看次数

具有默认系统身份验证/用户的SecurityContext

在我的春季应用程序中,我希望它SecurityContext始终拥有一个Authentication.如果它不是常规的UsernamePasswordAuthenticationToken,它将PreAuthenticatedAuthenticationToken描述"系统用户".这具有需要用户的不同系统功能的原因.如果没有用户上下文,为了避免特殊处理,我只想添加系统上下文.恕我直言,这也与单一责任原则有关.

为了实现这一点,我可以简单地实现我自己的SecurityContextHolderStrategy并将其设置为SecurityContextHolderwithSecurityContextHolder.setStrategyName(MyStrategyClassName);

现在来问题:

默认SecurityContextHolderStrategyThreadLocalSecurityContextHolderStrategy.我很满意这个策略及其运作方式.我唯一要改变的是getContext()方法.

public SecurityContext getContext() {
    SecurityContext ctx = CONTEXT_HOLDER.get();

    if (ctx == null) {
        ctx = createEmptyContext();
        CONTEXT_HOLDER.set(ctx);
    }
    return ctx;
}
Run Code Online (Sandbox Code Playgroud)

public SecurityContext getContext() {
    SecurityContext ctx = CONTEXT_HOLDER.get();

    if (ctx == null) {
        ctx = createEmptyContext();
        Authentication authentication = new PreAuthenticatedAuthenticationToken("system", null);
        authentication.setAuthenticated(true);
        ctx.setAuthentication(authentication);
        CONTEXT_HOLDER.set(ctx);
    }
    return ctx;
}
Run Code Online (Sandbox Code Playgroud)

这是不是可能的,因为ThreadLocalSecurityContextHolderStrategy类是没有 …

java spring security-context

5
推荐指数
1
解决办法
2545
查看次数

为什么isNAN("12")评估为假?

为什么JavaScript将12和"12"解释为相同?

function sanitise(x) {
  if (isNaN(x)) {
    return NaN;
  }
  return x;
}

var a = "12"
var b = 12
console.log(typeof(a))
console.log(sanitise(a));
console.log(sanitise(b));
Run Code Online (Sandbox Code Playgroud)

输出:

> "string"
> "12"
> 12
Run Code Online (Sandbox Code Playgroud)

然后,"12"和"字符串"之间有什么区别?

javascript

5
推荐指数
2
解决办法
538
查看次数

Python + Flask:验证json POST请求非空的正确方法

首先,我对python很新.对于一个小项目,我必须实现一个websevice,可以接收json作为内容.我确实用烧瓶库实现了它,到目前为止工作正常.我现在唯一的问题是错误处理.我确实检查了正确的内容类型,并将收到的json与方案进行比较.如果请求未通过这些检查,我将发送自定义400响应(引发FailedRequest).我现在的问题是,我无法弄清楚,如何检查request.json是否为空.现在,当我发送一个具有正确内容类型但空内容的请求时,我会得到一个系统生成的"错误请求"作为响应,而不是我的自定义响应.如何检查request.json对象是否为空?request.json是没有工作....

或者我是以错误的方式进行整个验证?

    #invoked method on a POST request
@app.route('/',methods = ['POST'])
def add():
    """
    This function is mapped to the POST request of the REST interface
    """
    print ("incoming POST")
    #check if a JSON object is declared in the header

    if request.headers['Content-Type'] == 'application/json; charset=UTF-8':
        print ("passed contentType check")
        print ("Json not none")
        print (request.get_json())
        data = json.dumps(request.json)
        #check if recieved JSON object is valid according to the scheme
        if (validateJSON(data)):
            saveToMongo(data)
            return "JSON Message saved in MongoDB"

    raise FailedRequest
Run Code Online (Sandbox Code Playgroud)

python post json flask

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

数组有两个元素; array.length返回20

我有一系列BufferedImage的.在示例断点中,数组包含两个元素.无论如何,length属性返回值20.这怎么可能?

eclipse调试器

java arrays

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

ScheduledExecutorService:如何捕获其异常?

我正在和一个人合作ScheduledExecutorService.我用这种方式:

ScheduledExecutorService executor;
public class ScheduledFanSpeedController implements Runnable {
.
.
.
public void start(){
executor = Executors.newScheduledThreadPool(1);
executor.scheduleAtFixedRate(this, 0, 55, TimeUnit.SECONDS);
}
Run Code Online (Sandbox Code Playgroud)

.scheduleAtFixRate可能抛出RejectedExecutionException.如果执行者在第n次执行任务时抛出此异常,我将如何捕获此异常?我是否真的不得不为此压倒一切?

java java.util.concurrent scheduledexecutorservice

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

@WithMockUser:使用自定义的GrantedAuthority类而不是SimpleGrantedAuthority

我正在为 Spring 项目构建一个基于权限的访问控制,并具有分层权限。为此,我将GrantedAuthority对象扩展为Permission. 自定义PermissionVoter最终会从中受益,因为可以检索单个权限部分。这按预期工作。唯一的问题是我的集成测试。

通过注释,@WithMockUser我可以模拟安全上下文。默认情况下,此模拟方法将创建SimpleGrantedAuthoritys. 期待Permission我的选民投票,这显然是行不通的。我可以配置@WithMockUser使用我的自定义GrantedAuthority类吗?

附言。我故意不使用Shiro。

java spring mocking spring-security

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

为什么要在子类上使用类别?

我只是揣摩相比,子类类别的上攻......我明白他们是如何实现的,但我看到就在此刻唯一的好处是,它可以节省你重构你的整个代码,如果你想延长在后期使用的课程,通常不应该通过良好的计划来实现.否则,它需要大约相同的时间来实现作为子类,它并没有真正带来不同的功能.因此,对于我对子类与类别的了解,我没有看到使用类别的原因.有人可以洗头,解释存在类别的原因吗?我会非常感激:)

objective-c subclassing objective-c-category

2
推荐指数
1
解决办法
112
查看次数

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