SpringBoot直接讀取預設屬性檔案application的兩種方式
阿新 • • 發佈:2019-01-30
第一種
@Configuration public class ADConfig { @Value("${ad.username}") private String adminName; @Value("${ad.password}") private String adminPassword; @Value("${ad.ldapURL}") private String ldapURL; @Bean public LdapContext readConf() { Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.SECURITY_AUTHENTICATION, "simple");//"none","simple","strong" env.put(Context.SECURITY_PRINCIPAL, adminName); env.put(Context.SECURITY_CREDENTIALS, adminPassword); env.put(Context.PROVIDER_URL, ldapURL); LdapContext ctx=null; try { ctx = new InitialLdapContext(env, null); } catch (NamingException e) { e.printStackTrace(); } return ctx; } }
第二種
@Configuration public class ADConfig { @Autowired private Environment env; @Bean public LdapContext readConf() { String adminName = env.getProperty("ad.username"); String adminPassword = env.getProperty("ad.password"); String ldapURL = env.getProperty("ad.ldapURL");// Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.SECURITY_AUTHENTICATION, "simple");//"none","simple","strong" env.put(Context.SECURITY_PRINCIPAL, adminName); env.put(Context.SECURITY_CREDENTIALS, adminPassword); env.put(Context.PROVIDER_URL, ldapURL); LdapContext ctx=null; try { ctx = new InitialLdapContext(env, null); System.out.println("222"); } catch (NamingException e) { e.printStackTrace(); } return ctx; } }
如果屬性比較多建議通過提取bean的方式來讀取