Questions tagged «spring»

Spring框架是用于Java平台上的应用程序开发的开源框架。它的核心是对基于组件的体系结构的丰富支持,目前它具有二十多个高度集成的模块。

21
Spring Boot-如何在一个地方记录所有带有异常的请求和响应?
我正在使用Spring Boot开发Rest API。我需要使用输入参数(使用方法,例如GET,POST等),请求路径,查询字符串,此请求的相应类方法,此操作的响应(成功和错误)记录所有请求。 例如: 成功的请求: http://example.com/api/users/1 日志应如下所示: { HttpStatus: 200, path: "api/users/1", method: "GET", clientIp: "0.0.0.0", accessToken: "XHGu6as5dajshdgau6i6asdjhgjhg", method: "UsersController.getUser", arguments: { id: 1 }, response: { user: { id: 1, username: "user123", email: "user123@example.com" } }, exceptions: [] } 或有错误的要求: http://example.com/api/users/9999 日志应该是这样的: { HttpStatus: 404, errorCode: 101, path: "api/users/9999", …

15
Spring Boot启动后运行代码
我想在我的spring-boot应用开始监视目录更改后运行代码。 我尝试运行新线程,但此时@Autowired尚未设置服务。 我已经能够找到ApplicationPreparedEvent,它会在设置@Autowired注释之前触发。理想情况下,一旦应用程序准备处理http请求,我希望触发该事件。 在Spring Boot中启动应用程序后,是否有更好的事件可以使用,或者有更好的代码运行方式?
211 java  spring  spring-boot 

9
Spring Boot配置和使用两个数据源
如何配置和使用两个数据源? 例如,这是我对第一个数据源的需求: application.properties #first db spring.datasource.url = [url] spring.datasource.username = [username] spring.datasource.password = [password] spring.datasource.driverClassName = oracle.jdbc.OracleDriver #second db ... 应用类别 @SpringBootApplication public class SampleApplication { public static void main(String[] args) { SpringApplication.run(SampleApplication.class, args); } } 如何修改application.properties以添加另一个数据源?如何自动布线以供其他存储库使用?



12
如何在Spring中定义List bean?
我正在使用Spring定义应用程序中的阶段。已配置为将必要的类(此处称为Configurator)与阶段一起注入。 现在,我需要另一个名为的类中的阶段列表LoginBean。在Configurator不提供访问其阶段的名单。 我不能改变班级Configurator。 我的想法: 定义一个名为Stages的新bean,并将其注入到Configurator和中LoginBean。我的想法是,我不知道如何转换此属性: <property ...> <list> <bean ... >...</bean> <bean ... >...</bean> <bean ... >...</bean> </list> </property> 变成豆 这样的事情不起作用: <bean id="stages" class="java.util.ArrayList"> 有人可以帮我吗?
203 java  spring 



8
在Spring Boot的application.properties中使用env变量
我们正在开发一个Spring Boot Web应用程序,并且正在使用的数据库是MySql; 我们拥有的设置是我们首先在本地对其进行测试(意味着我们需要在PC上安装MySql); 然后我们推向Bitbucket ; Jenkins自动检测对Bitbucket的新推送并在其上进行构建(要使Jenkins mvn构建通过,我们还需要在运行Jenkins的虚拟机上安装MySql)。 如果Jenkins构建通过,我们会将代码推送到OpenShift上的应用程序(使用Jenkins上的Openshift部署插件)。 我们的问题,因为你可能已经想通了就是: 在application.properties我们不能对MySql信息进行硬编码。由于我们的项目将在3个不同的地方(local,Jenkins和OpenShift)运行,因此我们需要使数据源字段动态化application.properties(我们知道这样做的方式不同,但目前正在研究此解决方案)。 spring.datasource.url = spring.datasource.username = spring.datasource.password = 我们想到的解决方案是在本地和Jenkins vm中创建系统环境变量(以OpenShift命名它们的方式命名),并分别为其分配正确的值: export OPENSHIFT_MYSQL_DB_HOST="jdbc:mysql://localhost" export OPENSHIFT_MYSQL_DB_PORT="3306" export OPENSHIFT_MYSQL_DB_USERNAME="root" export OPENSHIFT_MYSQL_DB_PASSWORD="123asd" 我们已经做到了,并且有效。我们还检查了Map<String, String> env = System.getenv();是否可以将环境变量设置为java变量,如下所示: String password = env.get("OPENSHIFT_MYSQL_DB_PASSWORD"); String userName = env.get("OPENSHIFT_MYSQL_DB_USERNAME"); String sqlURL = env.get("OPENSHIFT_MYSQL_DB_HOST"); String sqlPort = env.get("OPENSHIFT_MYSQL_DB_PORT"); 现在剩下的唯一事情就是我们需要在我们的程序中使用这些java变量application.properties,这就是我们遇到的麻烦。 在哪个文件夹,以及如何做,我们需要分配password,userName,sqlURL,和sqlPort变量application.properties能够看到他们,我们如何将它们包含在application.properties? …

8
Spring @Transactional属性可以在私有方法上工作吗?
如果我在Spring bean的私有方法上有一个@Transactional -annotation,那么注释是否有效果? 如果@Transactional注释在公共方法上,则它可以工作并打开一个事务。 public class Bean { public void doStuff() { doPrivateStuff(); } @Transactional private void doPrivateStuff() { } } ... Bean bean = (Bean)appContext.getBean("bean"); bean.doStuff();


1
Wildfly上的Spring Security:执行过滤器链时出错
我正在尝试将Spring Security SAML Extension与Spring Boot集成在一起。 关于此事,我确实开发了完整的示例应用程序。其源代码可在GitHub上找到: GitHub上的spring-boot-saml-integration 通过将其作为Spring Boot应用程序运行(针对SDK内置的Application Server运行),WebApp可以正常工作。 不幸的是,相同的AuthN进程在Undertow / WildFly上根本不起作用。 根据日志,IdP实际上执行AuthN过程:我的自定义UserDetails实现的指令已正确执行。尽管有执行流程,Spring仍未设置并保留当前用户的特权。 @Component public class SAMLUserDetailsServiceImpl implements SAMLUserDetailsService { // Logger private static final Logger LOG = LoggerFactory.getLogger(SAMLUserDetailsServiceImpl.class); @Override public Object loadUserBySAML(SAMLCredential credential) throws UsernameNotFoundException, SSOUserAccountNotExistsException { String userID = credential.getNameID().getValue(); if (userID.compareTo("jdoe@samplemail.com") != 0) { // We're …



5
如何在Spring RestTemplate请求上设置“ Accept:”标头?
我想Accept:在使用Spring的请求中设置的值RestTemplate。 这是我的Spring请求处理代码 @RequestMapping( value= "/uom_matrix_save_or_edit", method = RequestMethod.POST, produces="application/json" ) public @ResponseBody ModelMap uomMatrixSaveOrEdit( ModelMap model, @RequestParam("parentId") String parentId ){ model.addAttribute("attributeValues",parentId); return model; } 这是我的Java REST客户端: public void post(){ MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>(); params.add("parentId", "parentId"); String result = rest.postForObject( url, params, String.class) ; System.out.println(result); } 这对我有用;我从服务器端获取了JSON字符串。 我的问题是:我怎么可以指定Accept:报头(例如application/json,application/xml,...),并请求方法(例如GET,POST,...)当我使用RestTemplate?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.