[Java] SpringBoot 에서 application. yml 에서 사용자 정의 상수 가 져 오기

5628 단어
자바 로 Liux 를 연결 하고 싶 기 때문에 connection 연결 은 host, port, username, password 및 기타 경로 등 이 필요 합 니 다.수정 할 때마다 원본 파일 을 바 꾸 고 싶 지 않 기 때문에 application. yml 설정 파일 에 쓰 고 읽 으 려 고 합 니 다.
우선 pom. xml 에 다음 과 같은 의존 도 를 추가 하고 지원 해 야 합 니 다. @ConfigurationProperties 주석

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-configuration-processorartifactId>
    <optional>trueoptional>
dependency>

그리고 application. yml 프로필 에 필요 한 ssh 상수 가 추 가 됩 니 다.
ssh:
  host: 192.168.8.100
  port: 22
  username: root
  password: password

bean 수신 상수 만 들 기 @ConfigurationProperties 주석
@ Data 는 lombok 주석 으로 setter 와 getter 를 생략 합 니 다.
@ Component 는 bean 으로 등록 되 어 있 습 니 다.
@ ConfigurationProperties 설정 파일 읽 기
package com.easyci.ci.entity;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties("ssh")   //       “ssh”     
public class SshProperties {
    private String host;   
    private Integer port;
    private String username;
    private String password;
}

테스트:
@RunWith(SpringRunner.class)
@SpringBootTest
public class CiApplicationTests {

    @Autowired
    private SshProperties sshProperties;

    @Test
    public void contextLoads() {
        Connection con = ConnectUtil.getConnect(sshProperties.getHost(),sshProperties.getUsername(),sshProperties.getPassword(),sshProperties.getPort());
        System.out.println(con);
    }

}

결과:
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.1.8.RELEASE)

2019-09-26 09:58:12.540  INFO 7420 --- [           main] com.easyci.ci.CiApplicationTests         : Starting CiApplicationTests on DESKTOP-ANG78AB with PID 7420 (started by jxd in D:\WorkSpace\east-ci)
2019-09-26 09:58:12.540  INFO 7420 --- [           main] com.easyci.ci.CiApplicationTests         : No active profile set, falling back to default profiles: default
2019-09-26 09:58:13.448  INFO 7420 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2019-09-26 09:58:13.660  INFO 7420 --- [           main] com.easyci.ci.CiApplicationTests         : Started CiApplicationTests in 1.345 seconds (JVM running for 2.042)
       .
ch.ethz.ssh2.Connection@38ee7a9d
2019-09-26 09:58:14.218  INFO 7420 --- [       Thread-3] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
Disconnected from the target VM, address: '127.0.0.1:54934', transport: 'socket'

 
다음으로 전송:https://www.cnblogs.com/jxd283465/p/11589281.html

좋은 웹페이지 즐겨찾기