1 package cn.home1.cloud.netflix.eureka;
2
3 import lombok.extern.slf4j.Slf4j;
4
5 import org.springframework.beans.factory.annotation.Autowired;
6 import org.springframework.boot.SpringApplication;
7 import org.springframework.boot.autoconfigure.SpringBootApplication;
8 import org.springframework.boot.autoconfigure.security.SecurityProperties;
9 import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
10 import org.springframework.cloud.netflix.sidecar.EnableSidecar;
11 import org.springframework.context.ConfigurableApplicationContext;
12 import org.springframework.core.env.Environment;
13 import org.springframework.security.core.userdetails.UserDetails;
14 import org.springframework.util.StringUtils;
15
16
17
18
19 @EnableSidecar
20 @SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
21 @Slf4j
22 public class EurekaSidecarApplication {
23
24 @Autowired
25 private Environment environment;
26
27 @Autowired
28 private SecurityProperties securityProperties;
29
30 public static void main(final String... args) {
31 final ConfigurableApplicationContext context = SpringApplication.run(EurekaSidecarApplication.class, args);
32
33 final EurekaSidecarApplication application = context.getBean(EurekaSidecarApplication.class);
34 application.printInfo();
35 }
36
37
38
39
40 public void printInfo() {
41
42 log.info("server.servlet.context-path (server.context-path deprecated since spring-boot 2.x): {}",
43 this.environment.getProperty("server.servlet.context-path"));
44
45 log.info("management.endpoints.web.base-path (management.context-path deprecated since spring-boot 2.x): {}",
46 this.environment.getProperty("management.endpoints.web.base-path"));
47
48 final String passwordFromSystemEnv = System.getenv("SPRING_SECURITY_USER_PASSWORD");
49 if (StringUtils.isEmpty(passwordFromSystemEnv)) {
50 final String username = this.securityProperties.getUser().getName();
51 final String password = this.securityProperties.getUser().getPassword();
52
53 log.info("username: {}, randomly generated password: {}", username, password);
54 }
55 }
56 }