也许给出问题的最好方法是在下面显示代码:
public class DBConnection {
private String Host;
private String username;
private String password;
public DBConnection(String Host, String username, String password)
{
this.Host = Host;
this.username = username;
this.password = password;
}
public void addUser(String name)
{
System.out.println("add to db");
}
}
public class UserService {
public DBConnection dbConnection;
public UserService(DBConnection dbConnection){
this.dbConnection = dbConnection;
}
public void register()
{
dbConnection.addUser("xd");
}
}
public class UserService {
public DBConnection dbConnection;
@Autowired
public UserService(DBConnection dbConnection){
this.dbConnection = dbConnection;
}
public void register()
{
dbConnection.addUser("xd");
}
}
Spring将单个构造函数压缩为@autowired
。那就没什么区别了。
如果有多个构造函数,那么您必须将其中一个标记为@autowired
,以让Spring知道应该使用哪个ctor实例化bean。
问题内容: @Inject和@Resource以及@Autowired注释有什么区别? 我们什么时候应该使用它们? 问题答案: 和注释@Inject和有什么区别?@Resource@Autowired 我们什么时候应该使用它们?@Inject与@Autowire与@Resource之间的区别? @Autowired:spring专有注释(与@Inject和@Resource相反),按类型(即,通过
我在spring boot项目中为我们的服务类编写单元测试。当我自动连接正在测试的类时,测试正常运行,当我使用@MockBean insead of @Autowire时,测试失败。 有人能帮我区别一下@MockBean失败的原因吗?另外,在mockito中有一种模仿autowired类(当前类)方法的方法。
几个小时前,我打开了一个问题,它被标记为重复,但是它不是标记问题的重复。 从那以后,我设法完成了一些事情,解决了一些问题,所以我的问题是: 我试图将一个Springbean自动连接到另一个,但是我的问题是@自动连接字段总是空的,这说明它们都是受管理的bean,并且自己可以正确工作。 我发现,通过实现ApplicationContextAware接口,可以在bean中访问ApplicationCon
我在RestController类中有autowired ApplicationContext,因为我需要为收到的每个请求创建一个原型化的bean。 为了创建bean,我尝试了context.getBean(xx),但context没有列出getBean()方法。有没有一种方法,我可以在我的RestController类中获得原型类的bean。我正在以Spring Boot运行这个应用程序。 更新
我想要主持我的第一个基于Java的网站。我了解到有基于云的服务提供网站托管。但是也有一些未知的术语,比如已经可用的容器和Docker。我对GlassFish,Tomcat等容器知之甚少,但对Docker不太了解。那么码头工人到底是什么?
我正在尝试使用springboot访问数据库,但是spring应用程序在下面抛出了一个异常。 创建名为“welcome controller”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beancreationexception:无法自动连接字段:private org.springframework.jdbc.