Ich bin neu im Frühling, und ich versuche, @Autowired Annotation in meiner Standalone-App zu verwenden, aber ich konnte es nicht schaffen. Hier ist meine Hauptklasse@Autowired Annotation funktioniert nicht im Frühjahr Standalone-Anwendung
MainDemo.java
public class MainDemo {
public static void main(String[] args) {
BeanFactory sf= new XmlBeanFactory(new FileSystemResource("beans.xml"));
SpringIntro a= (SpringIntro)sf.getBean("act");
System.out.println(a.getResults());
}
SpringIntro.java
@Service("act")
public class SpringIntro {
@Autowired
AdminInterface adminDAO;
public String getResults(){
System.out.println("in spring intro");
for(AdminBean ab:adminDAO.getAdminData()){
System.out.println(ab.getAdministratiorName());
}
return "sree";
}
}
Admininterface.java
public interface AdminInterface {
List<AdminBean> getAdminData();
}
AdminDao.java
public class AdminDao implements AdminInterface{
@Autowired
public JdbcTemplate jdbcTemplate;
@Override
public List<AdminBean> getAdminData() {
// TODO Auto-generated method stub
System.out.println("admin dao autowired is working "+jdbcTemplate);
String sql = "select * from administrator";
List<AdminBean> resultList = jdbcTemplate.query(sql,
new AdminMapping());
return resultList;
}
}
beans.xml
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/dbschool" />
<property name="username" value="root" />
<property name="password" value="spinsci" />
</bean>
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
wenn ich laufe app durch main-Methode ich bin Null-Zeiger immer, wenn für adminDao in beans.xml Datei Bohnen hinzufügen Ich bekomme das Ergebnis, aber wenn ich @Autowired benutze, habe ich Probleme. Kann mir jemand helfen? Danke im Voraus.
Oder nur Spring Boot, die die Notwendigkeit für die Hälfte davon beseitigen würde. – chrylis
Danke, es funktioniert. –