当我在用@repository spring注释注释的Dao实现中自动连接hibernate会话工厂时,它无法创建SessionFactory和Dao bean,但它在没有@repository注释的情况下工作。
我搜索了很多问题和答案,但都与hibernate和spring boot的早期版本有关,比如展开和创建会话工厂bean,但所有这些方法都与Spring-Boot2.1和最新的hibernate版本不兼容。
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
private SessionFactory sf;
@Override
public void addUser(User user) {
Session session = sf.getCurrentSession();
session.save(user);
}
}
@Configuration
public class DataConfig {
@Bean
public SessionFactory sessionFactory(@Autowired EntityManagerFactory factory) {
if (factory.unwrap(SessionFactory.class) == null) {
throw new NullPointerException("factory is not a hibernate factory");
}
return factory.unwrap(SessionFactory.class);
}
}
It课程“应用程序上下文中一些bean的依赖关系形成了一个循环:”错误
@Bean
public SessionFactory sessionFactory() {
LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource());
sessionBuilder.scanPackages("com.your.domain.package");
return sessionBuilder.buildSessionFactory();
}
@Bean
public DataSource dataSource() {
final HikariConfig config = new HikariConfig();
config.setMinimumIdle(Integer.valueOf(env.getProperty("spring.datasource.minimumIdle")));
config.setMaximumPoolSize(Integer.valueOf(env.getProperty("spring.datasource.maximumPoolSize")));
config.setIdleTimeout(Integer.valueOf(env.getProperty("spring.datasource.idleTimeout")));
config.setConnectionTestQuery("SELECT 1");
config.setDataSourceClassName(env.getProperty("spring.datasource.className"));
config.addDataSourceProperty("url", env.getProperty("spring.datasource.url"));
config.addDataSourceProperty("user", env.getProperty("spring.datasource.username"));
config.addDataSourceProperty("password", env.getProperty("spring.datasource.password"));
return new HikariDataSource(config);
}
@先生。不错,改变你的配置,这样才能解决这个问题。
我还想在自动生成getter和setter时生成注释 Android Studio: 我想要:
问题内容: 我正在看工作区中的一些旧示例。由于没有 @Autowired, 我看不到自动 装配的方式 。Spring Boot + Facebook默认配置。 它工作完美,但是这些bean如何在没有@Autowired的情况下自动进行自动连线? 它们是作为字段或在构造函数中自动接线的吗? 问题答案: 借助Spring Boot 1.4+,构造函数将自动进行自动接线 https://docs.spr
我试图执行一个集成测试,我的类与@Transactional注释不能自动连接到一个测试类与NoSuchBean定义异常。我把它注释出来,检查了一份装载豆子的列表,我的服务就在那里,只是没有注射。 组织。springframework。豆。工厂BeanCreationException:创建名为“com”的bean时出错。icsynergy。西姆。服务DBIntegrationServiceTest
问题内容: 如何在Eclipse中自动生成基于xml的函数标头注释(@param等)。在Visual Studio中是否有等效的“ ///”快捷方式。 问题答案: 在方法定义之前的那一行中,键入并按Enter。 在IDE中,在方法前键入,然后按Enter。Eclipse将自动生成Javadoc标记并结束
我正在开发一个spring boot应用程序,我遇到了一个问题。我正在尝试注入一个@Repository注释接口,但它似乎根本不起作用。我收到这个错误 实体类: 存储库接口: 控制器:
和和注释之间有什么区别? 我们应该在什么时候使用它们每一个?