私は春の新機能です。スタンドアロンアプリケーションで@Autowiredアノテーションを使用しようとしていますが、できませんでした。ここで が私のメインクラスです@AutowiredアノテーションはSpringスタンドアロンアプリケーションでは機能しません
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;
}
}
<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>
私はbeans.xmlファイルにadminDaoのための豆を追加した場合、私は、NULLポインタを取得しています主なメソッドを介してアプリケーションを実行beans.xmlの私は結果を得ていますが、もし私が@Autowiredを使用するなら、私は問題を抱えています。誰も私を助けることができますか?前もって感謝します。
また、これの半分の必要性を排除するSpring Bootだけです。 – chrylis
ありがとう、その働き。 –