我试图在配置类中定义datasource和jdbctemplate bean。然而,每当我将它们自动连接到Restcontroller类时,它们都会为null。为什么?
在我的配置类中
@Configuration
@ComponentScan({ "org.airi.airibot.controllers", "org.airi.airibot.configs" })
public class DatabaseConfig {
@Bean
public DataSource dataSource() {
DriverManagerDataSource dataSource = new DriverManagerDataSource();
dataSource.setDriverClassName("org.postgresql.Driver");
dataSource.setUrl("jdbc:postgres://localhost:5432/testdb");
dataSource.setUsername("testuser");
dataSource.setPassword("testpassword");
return dataSource;
}
@Bean
public SimpleJdbcCall spCall() {
SimpleJdbcCall sp_call = new SimpleJdbcCall(dataSource());
return sp_call;
}
@Bean public JdbcTemplate jdbcTemplate() {
JdbcTemplate jdbc_template = new JdbcTemplate(dataSource());
return jdbc_template;
}
}
restcontroller类内部
@CrossOrigin(origins = "http://localhost:4200")
@RestController
public class TestController {
@Autowired
public DataSource dataSource;
@Autowired
public JdbcTemplate jdbcTemplate;
private List<DiscordServer> servers = createList();
@RequestMapping(value = "/server-emotes", method = RequestMethod.GET, produces = "application/json")
public List<DiscordServer> getServers() {
return servers;
}
private List<DiscordServer> createList() {
List<DiscordServer> temp_servers = new ArrayList<>();
//TODO: logic to add servers
System.out.println(dataSource);
return temp_servers;
}
public int getCountOfServers() {
int server_count = jdbcTemplate.queryForObject( "SELECT COUNT(*) FROM DISCORD_SERVER",Integer.class);
return server_count;
}
}
每次尝试编译时,我都会收到来自autowired字段的空指针异常,即使我没有手动实例化任何内容,只是让spring通过自动连线来管理所有实例。
你有没有试着把它交给构造器。把它们保密。像那样
private DataSource dataSource;
private JdbcTemplate jdbcTemplate;
@Autowired
TestController (DataSource dataSource, JdbcTemplate jdbcTemplate){
this.dataSource = dataSource;
this.jdbcTemplate = jdbcTemplate;
}
问题内容: 我正在尝试使我的元素保持原状(过渡之后)。现在,翻译后的位置是我想要的位置,但随后我的名字又回到了报价单上。我是否缺少一段代码,或者是否有一段代码使这种回弹发生? 问题答案: 原因和解决方法: CSS转换通常不能应用于具有设置的元素。虽然奇怪的是,这种情况似乎最初发生在回弹之前,但解决方案是将设置更改为下面的代码段所示。 如果元素不可变形,为什么最初会对其进行翻译? 浏览器(至少是Ch
问题内容: 我有一个类Hra1,它定义了游戏规则(game = hra)。问题是,尽管在构造函数中创建了poleMinci数组,但我得到的是空值,例如poleMinci == null。换句话说,玩家的move方法始终返回false。 构造函数: 球员的移动方法: 问题答案: 您正在阴影变量: 在该构造函数中,由于poleMinci是在构造函数内部声明的,因此仅在构造函数内部可见。如果您在类中具有
问题内容: 在我的Web应用程序中,我在Apache Tomcat(TomEE)/7.0.37服务器上使用OpenJPA。我使用Netbeans自动生成类(“来自数据库的实体类…”和“来自实体类的会话Bean …”)。在SessionBean(例如UserFacade)上,我想获取EntityManager: 但是当我通过上述方式得到它时,我得到的是空值。当我通过: ecm不为空,还可以 我的pe
我正在构建一个计算Java字符串中重复值的程序。然而,我收到“我无法解析为变量”,即使它是在for循环中初始化的?感谢您的指导。
本文向大家介绍null == undefined为什么?相关面试题,主要包含被问及null == undefined为什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 要比较相等性之前,不能将null 和 undefined 转换成其他任何值,但 null == undefined 会返回 true 。ECMAScript规范中是这样定义的。
我正试图找到更快的批量插入方法。 我试图用jdbcTemplate.update(String sql)插入几个批次,其中sql是由StringBuilder构建的,看起来像: 批量大小正好是1000。我插入了将近100批。我用秒表查看了时间,发现了插入时间: 我很高兴,但我想让我的代码更好。 之后,我尝试使用jdbcTemplate.batch更新的方式如下: sql是什么样子的 我很失望!jd