小编Ket*_*tan的帖子

Spring注释@Controller与@Service相同吗?

Spring注释是@Controller一样的@Service吗?

我知道@Controller哪些可以用于URL映射和调用业务逻辑.

@Service用来注释包含业务逻辑服务类.

我可以使用@Controller而不是@Service注释Service类吗?

service spring controller

74
推荐指数
4
解决办法
10万
查看次数

如何为多个包指定单个切入点

我在基于spring mvc的应用程序中使用Aspect进行日志记录活动.我正在使用@controller注释来定义我的应用程序中的任何控制器.我在两个不同的包中有两个不同的控制器说

  • com.package1包含控制器1类,我们将其命名为AController
  • com.package2包含控制器2类,我们将其命名为BController

我可以通过使用将方面应用于一个特定的控制器包

<aop:config>
    <aop:pointcut id="pointcut1"
        expression="execution(* package1.*.*(..))"
        id="policy1" />
    <aop:aspect ref="aspect1" order="1">
        <aop:before pointcut-ref="pointcut1" method="before" arg-names="joinPoint" />
        <aop:after-returning returning="returnValue" arg-names="joinPoint, returnValue" pointcut-ref="pointcut1" method="after"  />
    </aop:aspect>
</aop:config>


<bean id="aspect1" class="com......aspectclass" />
Run Code Online (Sandbox Code Playgroud)

我的问题是如何指定在一个以上的不同包装的表达(*包1. ..(..))**.

现在我宣布为每个包在一个方面的一个单独的一个单独的切入点aop:before,并aop:after为每个切入点条目.但我认为这应该是定义多个包切入点的理想方式.

aop spring spring-aop pointcut aspect

12
推荐指数
2
解决办法
3万
查看次数

强制用户在spring security中更改过期密码

我正在构建基于网络的应用程序的spring mvc和spring security.

我已经实现了重置密码功能.系统管理员将重置任何用户的密码.随机生成的密码将通过电子邮件发送给用户,同样将在数据库中更新.

现在我希望每当用户使用随机生成的密码登录时,我想强制用户更改其密码.

请查看我的用户 TABLE.

userid bigint(20)
username varchar(20)
password varchar(65)
email varchar(50)
firstname varchar(20)
lastname varchar(20)
groupname varchar(50)
enabled tinyint(1)
credentialsNonExpired tinyint(1)

我的认证提供商

    <!--
        Configuring Authentication Provider to make use of spring security
        provided Jdbc user management service
    -->
    <authentication-provider user-service-ref="jdbcUserService">
        <!--
            Configuring SHA-1 Password Encoding scheme to secure user credential
        -->
        <password-encoder ref="sha1PasswordEncoder" />
    </authentication-provider>
</authentication-manager>
Run Code Online (Sandbox Code Playgroud)

我使用JDBCUserDetailsS​​erviceJDBCDaoImpl扩展为jdbcUserService.

我想在重置密码时将credentialNonExpired设置为我的用户表的false列.

我能够做到这一点.

但是当我登录时,spring security JDBCuserdetailsservice loadUserbyUsername只获取用户名,密码,启用列和其他所有字段设置为true.

protected List<UserDetails> loadUsersByUsername(String …
Run Code Online (Sandbox Code Playgroud)

change-password spring-security

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

基于DISCRIMINATOR的多租户与Spring Data JPA + Hibernate

我想为基于共享模式的多租户模型实现基于DISCRIMINATOR的多租户解决方案-所有租户的公共数据库模式.

技术堆栈

  • Hibernate 3全局过滤器(我不能使用EclipseLink)
  • Spring Data JPA - 我想要这个,因为我们已经使用了这个,我们无法改变它.

我的问题是

  • 如何实现这一点:Spring Data JPA对GLOBAL过滤器没有任何支持,所以我需要添加自定义Spring Data JPA存储库,然后可以为基于DISCRIMINATOR的解决方案应用全局过滤器?
  • 完全可以用Spring Data JPA + Hibernate 3实现我的需求吗?

hibernate multi-tenant discriminator spring-data-jpa

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

由于“找不到有效的 Docker 环境”,测试容器测试用例失败

我对使用测试容器很陌生。我的测试因以下异常而失败。

Running com.mastercard.example.testcontainers.testcontainersexampple.DemoControllerTest
2020-04-08 14:27:08.441  INFO   --- [           main] o.s.t.c.support.AbstractContextLoader    
: Could not detect default resource locations for test class 
resource found for suffixes {-context.xml, Context.groovy}.
2020-04-08 14:27:08.449  INFO   --- [           main] t.c.s.AnnotationConfigContextLoaderUtils : Could not detect default configuration classes for test class [com.mastercard.example.testcontainers.testcontainersexampple.DemoControllerTest]: DemoControllerTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
2020-04-08 14:27:08.611  INFO   --- [           main] .b.t.c.SpringBootTestContextBootstrapper : Found @SpringBootConfiguration com.mastercard.example.testcontainers.testcontainersexampple.TestContainersExampleApplication for test class com.mastercard.example.testcontainers.testcontainersexampple.DemoControllerTest
2020-04-08 14:27:08.701  INFO   --- [           main] .b.t.c.SpringBootTestContextBootstrapper : …
Run Code Online (Sandbox Code Playgroud)

spring integration-testing junit4 spring-boot testcontainers

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

如何使用@JsonTypeInfo注释的defaultImpl属性?

我想使用@JsonTypeInfo注释的defaultImpl属性来处理反序列化过程中类型信息丢失的情况。

我使用了上述属性,如下所述。

@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include = JsonTypeInfo.As.PROPERTY, property = "@class" ,defaultImpl = DefaultImpl.class)

public class DefaultImpl{
}
Run Code Online (Sandbox Code Playgroud)

问题是我不知道我可以在这个类中写什么来处理丢失的类型信息。

请帮助我,有例子会很高兴。

json jackson

7
推荐指数
1
解决办法
5660
查看次数

如何定制Jackson类型的信息机制

在Jackson中,我使用注释@JsonTypeInfo来包含多态支持.

如果,我不想使用基于注释的方法,我可以使用全局默认类型或覆盖类型信息处理模块.

我尝试了全局类型信息,但它为所有非最终类型发出类型信息.

我需要的 ,

  1. 我想仅包含多态类型的类型信息.
  2. 我想更改info类型的默认格式(到键值对)

是否可以通过扭曲全局配置来实现以上两点?

如果没有,我应该使用什么扩展点来定制类型信息模块?我读过JacksonAnnotationIntrospector是处理类型信息的类.

我应该定制它来实现上述两点吗?

帮助示例将是好的和良好的.

json jackson

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

Jackson 在序列化期间排除容器(列表、地图、集合)的类型信息

Jackson 中,我想包含每个自定义对象的类型信息。为了在没有注释的情况下完成此操作,我正在使用

OBJECT_MAPPER.enableDefaultTypingAsProperty(DefaultTyping.NON_FINAL, "@Ketan");
Run Code Online (Sandbox Code Playgroud)

这是工作,但它也包括类型信息ListMapCollection像容器本身。

让我给你一个标准的例子AnimalDogCatZoo层次。

class Zoo {

    List<Cat> cats;
    Dog dog;

    public Dog getDog() {
       return dog;
    }

    public void setDog(Dog dog) {
       this.dog = dog;
    }

    public List<Cat> getCats() {
       return cats;
    }

    public void setCats(List<Cat> cats) {
       this.cats = cats;
    }

}
Run Code Online (Sandbox Code Playgroud)

在这里,我有两个自定义对象CatDog. 我只想为那些只包含类型信息,但它也包括容器 -List就我而言 - 也是如此。

请参阅下面我通过序列化获得的 JSON 字符串。

{
    "@Ketan": "com.csam.wsc.enabling.core.codec.json.test.Zoo1",
    "cats": …
Run Code Online (Sandbox Code Playgroud)

java json jackson

4
推荐指数
2
解决办法
1652
查看次数

是否值得将Spring Integration而不是Spring MVC用于基于Web或基于移动的应用程序?

我正在开发Web应用程序,同样在我的产品中我们也提供金融非金融移动服务.

详细介绍.

在我的Web应用程序中,没有什么比一步一步维护流程,简单的所有CRUD操作,目前我们使用的Spring MVC符合我们的要求,但对于基于移动的服务,我们提供类似的消息总线支持来交换背负信息.客户端和服务器,我们有自定义代码来实现解决方案.

此外,我们的移动服务需要通过SOAP,REST等不同协议公开,同时需要将通信数据包与服务分离.

我们仅使用SPRING MVC解决了上述所有问题.

我的问题是

  1. 是否值得使用Spring Integration框架替换自定义代码解决方案以使用Spring Integration实现消息总线,如果是这样,我的Web应用程序的流程是什么?
  2. 如果我在我的Web应用程序中使用Spring Integration,它将如何向SI呈现HTTP请求?
  3. Spring Integration是否适用于任何独立的基于Web的应用程序?

spring spring-mvc spring-integration

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