草庐IT

spring-bean

全部标签

java - Spring 启动 1.4 : Executing Method after Liquibase finished

我有一个使用Liquibase的基于SpringBoot1.4.0的项目。是否可以在liquibase完成后执行方法?类似Bean后处理器的东西?我想做的是在应用程序以开发模式启动时向我的数据库添加一些数据。在开发模式下,应用程序使用内存中的h2数据库,因此liquibase必须在我写入数据之前创建表。 最佳答案 SpringBoot自动配置一个名为liquibase的SpringLiquibasebean。任何依赖于这个bean的bean都将在Liquibase完成后创建。例如,您可以使用@PostConstruct来填充数据库:

java - 在 spring boot 中通过动态键读取属性

我想知道在SpringBoot中是否有任何方法可以使用动态键从属性文件中读取属性值。我知道属性可以放在application.properties中,并且可以使用@Value("propertyKey")读取,但我的key将是动态的。我知道@PropertySource可以读取属性值,而且我可以动态构造我的键。那么SpringBoot有没有提供什么方式呢? 最佳答案 你可以使用:@AutowiredprivateEnvironmentenv;然后从代码加载属性:env.getProperty("your.property")

java - Spring MVC - 使用 Flyway 在测试之间清理数据库

我使用Flyway来管理我的SpringMVC应用程序中的数据库状态。我完全按照theirdocs中的建议在我的servlet上下文XML文件中配置了它......我想在我的JUnit测试中做两件事-一次,在所有测试之前,删除并重新创建数据库并让它重新迁移。这为每个测试套件创建了一个干净的数据库。在每次测试之前,清理所有的数据库表。在其他框架(例如RSpec/Rails)中,我通过以事务方式运行DB语句来实现这一点,以便它们在测试结束时回滚。不确定SpringMVC世界中的最佳实践是什么。我不知道从哪里真正开始实现上述内容,因此不胜感激任何指导。谢谢! 最佳

java - 属性上的 Spring @Autowired 和 @Value 不起作用

我想在属性上使用@Value,但我总是得到0(在int上)。但它在构造函数参数上有效。例子:@ComponentpublicclassFtpServer{@Value("${ftp.port}")privateintport;publicFtpServer(@Value("${ftp.port}")intport){System.out.println(port);//21,loadedfromtheapplication.properties.System.out.println(this.port);//0???}}该对象是spring管理的,否则构造函数参数将不起作用。有谁知道是

java - 使用 spring rest 模板在服务上传播 HTTP header (JWT token )

我有一个微服务架构,它们都由springsecurity和JWTtoken保护。因此,当我调用我的第一个微服务时,我想获取JWTtoken并使用这些凭据向另一个服务发送请求。如何检索token并再次发送到其他服务? 最佳答案 基本上,您的token应该位于请求的header中,例如:Authorization:Bearer。要获取它,您可以通过Controller中的@RequestHeader()检索任何header值:@GetMapping("/someMapping")publicStringsomeMethod(@Reque

关于Spring Boot Actuator漏洞补救方案

关于SpringBootActuator漏洞补救方案SpringBootActuator漏洞自查处理漏洞SpringBootActuatorSpringBootActuator提供了项目的健康检查,审计,指标收集,HTTP跟踪等,是帮助项目监控和管理SpringBoot应用的模块。这个模块采集应用的内部信息,展现给外部模块,可以查看应用配置的详细信息,例如自动化配置信息、创建的Springbeans信息、系统环境变量的配置信息以及Web请求的详细信息等,这也是导致有泄露信息安全隐患的原因。如果没有正确使用Actuator,可能造成信息泄露等严重的安全隐患(外部人员非授权访问Actuator端点

java - Spring 的线程

我有一个使用spring、hibernate和struts的Web应用程序(它在Tomcat上运行)调用顺序是这样的……StrutsAction调用spring服务bean,后者又调用SpringDAObean。DAO实现是一个Hibernate实现。问题是我所有的springbean都会在同一个线程中运行吗?我可以在ThreadLocal中存储一些东西并在另一个bean中获取它吗?我很确定这在无状态sessionBean中行不通。EJB容器可以(或将会)为每次调用sessionbean生成一个新线程spring容器会做同样的事情吗?即在同一线程中运行所有bean?当我尝试JUnit测

java - 在 Java bean 中声明枚举变量

我需要将一个枚举变量声明为类成员,并且需要像javabean一样为它定义一个setter和getter。像这样的-publicclassVehicle{privateStringid;privateStringname;enumcolor{RED,GREEN,ANY;}//setterandgetters}现在,我想将颜色属性设置为红色、绿色或其他类中的任何颜色,并想做出相应的决定。 最佳答案 枚举必须公开才能被外界看到:publicclassVehicle{privateStringid;privateStringname;pub

java - Entity-Bean (JPA) 中的单向关系

如何在EJB3.0Entity-Beans(JPA)中创建单向关系?例如,客户知道订单,但订单没有客户的任何方法。使用(@OneToMany或@OneToOne或@ManyToMany)问候 最佳答案 下面是使用JPA2.0建立单向@OneToMany关系的方法:@EntitypublicclassCustomer{@Id@Column(name="cust_id")privatelongid;...@OneToMany@JoinColumn(name="owner_id",referencedColumnName="cust_id

java - EJB3 带来了哪些特性以及 EJB3 如何与 Spring 框架相结合?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我从来没有在ejb上工作过,当我开始编程时Spring已经到了,我所有的项目都只使用Spring,最近我参加了一次面试,他们想要了解EJB3.0,所以我想知道EJB3.0如何与SpringFramework相提并论,以及为什么现在许多项目都使用SpringFramework而不是EJB3.0,不要在这里引用我的话,因为我可能是错的如果可以从实际角度解释使用其中一个的区