在創建使用 Hibernate 作為 ORM 將對象保存在數據庫中的服務時,我無法啟動該應用程序。我正在使用 Spring Boot 和 Hibernate。我的服務實現:@Servicepublic class PropertyServiceImpl implements PropertyService{private PropertyDAO propertyDAO; public PropertyServiceImpl(){ System.out.println("inside propertyserviceimpl constructor");}@Autowiredpublic PropertyServiceImpl(PropertyDAO propertyDAO){ this.propertyDAO = propertyDAO; System.out.println("inside save");}@Transactionalpublic void save(Property property) { propertyDAO.save(property);}@Overridepublic List findAll() { // TODO Auto-generated method stub return null;}}PropertyDAO.javapublic interface PropertyDAO {public void save(Property property); }PropertyDAOImpl 實現 DAOpublic class PropertyDAOImpl implements PropertyDAO{@Autowiredprivate SessionFactory sessionFactory;public void save(Property property) { Session currentSession = sessionFactory.getCurrentSession(); currentSession.saveOrUpdate(property);}}當我啟動 SpringBoot 應用程序時,收到以下錯誤消息。***************************APPLICATION FAILED TO START***************************Description:Parameter 0 of constructor in com.flarow.flarowhomes.services.PropertyServiceImpl required a bean of type 'com.flarow.flarowhomes.dao.PropertyDAO' that could not be found.Action:Consider defining a bean of type 'com.flarow.flarowhomes.dao.PropertyDAO' in your configuration.
2 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
將@Repository添加到您的 DAO 實現類中,以便可以找到它:
@Repository public?class?PropertyDAOImpl?implements?PropertyDAO?{
實現傳統 Java EE 模式(例如“數據訪問對象”)的團隊也可以將此構造型應用于 DAO 類,但在此之前應注意了解數據訪問對象和 DDD 樣式存儲庫之間的區別。

慕少森
TA貢獻2019條經驗 獲得超9個贊
按如下方式更改您的 PropertyDAO:
public interface PropertyDAO extends JpaRepository<Property, Integer>{ }
添加回答
舉報
0/150
提交
取消