我有一个使用 Spring Boot 0.5.0.M5 的项目设置。
在我尝试@Autowire Environment
使用的一个配置文件中,但失败了NullPointerException
。
这是我到目前为止的内容:
应用程序
@EnableAutoConfiguration
@Configuration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
*我正在尝试的 *JpaConfig.java@Autowire Environment
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "com.ui.persistence.repository")
public class JpaConfig {
private static final String DATABASE_DRIVER = "db.driver";
private static final String DATABASE_PASSWORD = "db.password";
private static final String DATABASE_URL = "db.url";
private static final String DATABASE_USERNAME = "db.username";
private static final String HIBERNATE_DIALECT = "hibernate.dialect";
private static final String HIBERNATE_SHOW_SQL = "hibernate.show_sql";
private static final String ENTITYMANAGER_PACKAGES_TO_SCAN
= "entitymanager.packages.to.scan";
@Autowired
private Environment env;
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName(env.getProperty(DATABASE_DRIVER));
dataSource.setUrl(env.getProperty(DATABASE_URL));
dataSource.setUsername(env.getProperty(DATABASE_USERNAME));
dataSource.setPassword(env.getProperty(DATABASE_PASSWORD));
return dataSource;
}
@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean
= new LocalContainerEntityManagerFactoryBean();
entityManagerFactoryBean.setDataSource(dataSource());
entityManagerFactoryBean.setPersistenceProviderClass(
HibernatePersistence.class);
entityManagerFactoryBean.setPackagesToScan(
env.getProperty(ENTITYMANAGER_PACKAGES_TO_SCAN));
entityManagerFactoryBean.setJpaProperties(hibernateProperties());
return entityManagerFactoryBean;
}
}
我正在尝试加载在属性文件中配置的数据库属性。但是,Environment
不会注入,并且代码将失败NullPointerException
。我在XML文件中没有任何配置。
对于属性文件,我已通过PropertySourcesPlaceholderConfigurer
以下方式配置:
@Configuration
@PropertySource("classpath:database.properties")
public class PropertyConfig {
@Bean
public static PropertySourcesPlaceholderConfigurer propertyPlaceHolderConfigurer() {
return new PropertySourcesPlaceholderConfigurer();
}
}
我试图交换@Autowired
,@Resource
并且@Inject
但至今没有奏效。将不胜感激。谢谢。
我相信Spring和EntityManagerFactory
会存在一些生命周期问题,并且您可能已经犯了这些问题(已在4.0.0.RC1中修复)-如果您的@Configuration
类在早期被实例化,则可能不符合自动装配的条件。您可能会从日志输出中得知是否是这种情况。
只是出于兴趣,您是否知道您使用JpaConfig
和提供的功能(PropertyConfig
如果您使用的是已定义好的,@EnableAutoConfiguration
只要您@ComponentScan
定义了存储库的那个包)?
我有一个奇怪的例子,我有一个secret.env文件,我把所有的环境变量都设置成这样: 秘密. env 然后我构建了一个docker文件来导出所有变量并运行应用程序: 但是,这将引发一个关键错误: 当我在我的窗户上运行这个程序时,它工作得很好! 有人能帮我一下吗?
platformVersion和environment始终为空。在日志中:添加[class path resource[tests.properties]]PropertySource以最低的搜索优先级。我看到stackoverflow上的其他帖子(Autowired Environment是空的),我不想去实现EnvironmentAware。为环境而将私人改为公共并不能解决问题。任何其他想法都
我想使用spring-kafka KafkaTemplate, 我创建了一个KafkaConfig类: …并在我写给Kafka的类中自动连接了Kafka模板: 出于某种原因,自动布线似乎不起作用。我注意到当我在debug中运行时,KafkaTemplate为null: 此对象不应为空;它应该是一个KafkaTemplate对象。这将引发空指针异常: kafka-spring过去为我工作得很好
我正在尝试使用springboot访问数据库,但是spring应用程序在下面抛出了一个异常。 创建名为“welcome controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beancreationexception:无法自动连接字段:private org.springframework.jdbc.
本文向大家介绍springboot 多环境配置教程,包括了springboot 多环境配置教程的使用技巧和注意事项,需要的朋友参考一下 在上一课中我们通过idea工具没有做任何配置就构建了一个springboot项目,并且已经成功启动了,但我们都很清楚这些都远远不能达到我们实际项目的需求,比如我们要引入我们自己的redis配置、mysql配置等,应该如何处理呢?在spring mvc中我们都是通过
Eureka Discovery服务器(包括/config/*服务器上的云配置服务)正在向Eureka服务器注册,并且Eureka仪表板显示了该实例。此服务在端口9001上运行,启用SSL并进行用户身份验证。服务照常工作。 然后我创建了一个新的SpringBoot服务,它连接到Eureka并注册到它。由于使用了自签名证书,我在这篇文章中编写了一个小的SSLConfguration类:如何覆盖Spr