我正在使用Springboot创建一个REST应用程序。在做了一些研究之后,我添加了JdbcTemplate,而不是直接使用Jdbc和resultsets。我在< code > application . properties 中有以下配置。
server.context-path=/foo
spring.datasource.driverClassName=com.teradata.jdbc.TeraDriver
spring.datasource.url=jdbc:teradata://url
spring.datasource.username=root
spring.datasource.password=root
我的REST控制器有以下代码
@RestController
public class LosController {
@CrossOrigin
@RequestMapping("/bar")
public String Bar(){
Gson gson = new Gson();
Bar bar = new Bar();
response = gson.toJson(bar.getData());
return response;
}
在这个物体中,我有
public class Bar {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<BarObject> getData(){
String selectSql = "SELECT * FROM BAR";
System.out.println(selectSql);
System.out.println(jdbcTemplate.getDataSource().toString());
List<BarObject> barObjs = jdbcTemplate.query(selectSql, new BarMapper());
return barObjs;
}
}
我浏览了这个链接并配置了上面提到的所有内容。我可以看到System.out。println(selectSql
)正在工作。但在下一行,我得到了一个空指针异常
。因此,JdbcTemplate对象没有获得我所感觉的数据。我怎样才能让这个工作?我试图不使用任何xml配置,这就是我选择属性文件的原因。
Bar
不是Spring豆。
要使其正常工作,您可以使用@Component
对 Bar
进行注释,并在 LosController
中自动连线,而不是使用 new
创建。
@RestController
public class LosController {
@Autowired
private Bar bar;
@CrossOrigin
@RequestMapping("/bar")
public String Bar(){
Gson gson = new Gson();
response = gson.toJson(bar.getData());
return response;
}
}
@Component
public class Bar {
@Autowired
private JdbcTemplate jdbcTemplate;
public List<BarObject> getData(){
String selectSql = "SELECT * FROM BAR";
System.out.println(selectSql);
System.out.println(jdbcTemplate.getDataSource().toString());
List<BarObject> barObjs = jdbcTemplate.query(selectSql, new BarMapper());
return barObjs;
}
}
问题内容: 我在结合JavaFX和Spring时遇到问题。我有一个简单的JavaFX应用程序,它运行良好。现在,我正在尝试向其中添加一些Spring。我在Spring教程中跟随JavaFX 2。我的代码: 是具有main的文件: : : 我的SpringFxmlLoader在教程中看起来与此类似: 我的SpringApplicationConfig: 在我的应用程序中,我具有绑定控制器: 当我运行
问题内容: 我使用JUnit测试以下DAO: 如你所见,sessionFactory是使用Spring自动接线的。当我运行测试时,sessionFactory保持为空,并且出现空指针异常。 这是Spring中的sessionFactory配置: 怎么了?我如何也可以为单元测试启用自动装配? 更新:我不知道这是否是运行JUnit测试的唯一方法,但是请注意,我正在Eclipse中运行,右键单击测试文件
我们正在使用Spring框架5和Spring Boot 2.0.0。M6,我们也在使用WebClient进行反应式编程。我们为我们的反应式Restendpoint创建了测试方法,所以我查找了一些关于如何做到这一点的例子。我发现这个或这个以及许多其他的都一样。他们只是自动绑定一个WebTestClient。所以我尝试了同样的方法: 我无法运行此操作,因为我收到错误信息: 因此,似乎不存在自动配置。我
主要内容:Spring 自动装配,自动装配规则,示例我们把 Spring 在 Bean 与 Bean 之间建立依赖关系的行为称为“装配”。 Spring 的 IOC 容器虽然功能强大,但它本身不过只是一个空壳而已,它自己并不能独自完成装配工作。需要我们主动将 Bean 放进去,并告诉它 Bean 和 Bean 之间的依赖关系,它才能按照我们的要求完成装配工作。 在前面的学习中,我们都是在 XML 配置中通过 <constructor-arg>和 <
问题内容: 我正在阅读Pro Spring3这本书。它有一段确实让我感到困惑。该段是关于春季自动装配的。这是节选: 在大多数情况下,是否应该使用自动装配的问题的答案肯定是“不!”。自动装配可以在小型应用程序中节省时间,但在许多情况下,这会导致不良做法,并且在大型应用程序中不灵活。使用byName似乎是个好主意,但它可能会导致您为类提供人为的属性名称,以便可以利用自动装配功能。Spring的整个想法
我刚刚构建了一台PC,我一直在尝试使用pip在其上安装matplotlib,但出于某种原因,我一直收到这个错误。 我在windows 10上,用的是python 2.7,我用的是 这种情况发生在其他人身上了吗?我需要做些什么来修复它?当我尝试安装熊猫时,它也会这样做。 谢谢!