我使用的是Spring Boot MVC,Spring的ServletRegistrationBean
在数据源配置之前被调用,数据源配置加载到StandardContext
中。
WebSecurityConfig
总是首先被调用,因此从来没有为AutowedprodDatassource
定义过bean。
我尝试了从@Order
到@HarditionalOnMissingBean
的所有方法。我找不到一个像样的解释。但是我需要在数据源运行WebSecurity之前为它创建一个Bean
@EnableAutoConfiguration
@SpringBootApplication
@EnableCaching
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("appInfo");
}
}
@Configuration
@PropertySource({ "classpath:application.properties" })
@EnableTransactionManagement
@EnableJpaRepositories(basePackages = "App.Models",
entityManagerFactoryRef = "prodEntityManager",
transactionManagerRef = "transactionManager"
)
public class PrimaryDatasourceConfig {
@Autowired
private Environment env;
@Bean
@ConfigurationProperties(prefix = "spring.datasource.prod")
public DataSource prodDataSource() {
EmbeddedDatabaseFactory factory = new EmbeddedDatabaseFactory();
factory.setDatabaseName("spring-social-quickstart");
factory.setDatabaseType(EmbeddedDatabaseType.H2);
return factory.getDatabase();
}
}
@Configuration
@EnableWebSecurity
@Import(PrimaryDatasourceConfig.class)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource prodDataSource;
SuperiorUserService jdbcDao;
.......
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.jdbcAuthentication()
.dataSource(prodDataSource);
auth.authenticationProvider(authProvider());
}
}
我想出了一个似乎有用的解决方案。
而不是在我的Spring Security中使用@Autowire。我用@Resource
替换了它们,它似乎在等待我的bean首先被创建。
问题内容: 它是Ajax JSP页面的一部分 Flat_No中总共有4个值,它在控制台和aftr中打印第一个值,这在我的jsp页面上出现错误“ java.sql.SQLException:找不到数据” 问题答案: 当通过较差的JDBC-ODBC桥驱动程序使用MSAccess数据库并从结果集中多次检索相同数据时,这是一个典型错误。您需要检索一次数据并将其分配给变量,然后多次使用该变量。 与 具体问题
Spring boot版本1.5.3
我尝试使用mysql-connector-java-5.1.38 xml(wildfly-10.1.0.final\module\system\layers\base\com\mysql\main) 在mysql-connector-java-5.1.38上使用和不使用“.jar”都试过 由 但没有奏效 完全有趣的stacktrace错误[org.jboss.as.controller.manag
主要内容:1.引入jar包,2.配置文件编写,3.编写数据库,4.编写实体类,5.编写Mapper接口,6.在业务层中引入用户的用户名和密码,7.测试1.引入jar包 2.配置文件编写 appilication.properties 需要注意后面需要加上时区,因为当前引入的是SpringBoot2以上的版本 3.编写数据库 4.编写实体类 5.编写Mapper接口 这里是继承了BaseMapper接口 6.在业务层中引入用户的用户名和密码 第一个是导入UserMapper接口 第二个是根据接口去
问题内容: 我正在尝试传递给jasper报告字符串位置的模板。因此,我在模板和值中传递了参数的键。当我在项目中有图像时,一切都在工作,但我想在另一个地方使用它。有什么方法可以从例如属性文件中读取参数?我不知道为什么这种解决方案不起作用: 我的形象: … 错误: 问题答案: 好的,我找到了…应该是:
我对冬眠很陌生,所以我的问题对你来说很明显。我在H2控制台用3个表(data.mv.db)创建了数据库,插入一些值,然后将其复制到项目路径中的数据库文件夹中。现在我试图阅读其中一个测试,但总是有错误,即表不存在。我试着给连接url添加一些属性,比如连接延迟或者不把字母改成大写,但仍然是一样的。 错误: 我试过编辑配置。所以我补充: 并使数据库为空。奇怪的是,在H2控制台打开后,Java创建的数据库