#java #spring-boot #mybatis
Вопрос:
ПРЕДУПРЕЖДЕНИЕ 12700 — [ restartedMain] ConfigServletWebServerApplicationContext : Исключение, возникшее во время инициализации контекста — отмена попытки обновления: org.springframework.beans.factory.Исключение UnsatisfiedDependencyException: Ошибка при создании компонента с именем «mycontroller»: Неудовлетворенная зависимость, выраженная через поле «сервис»; вложенным исключением является org.springframework.beans.factory.Исключение UnsatisfiedDependencyException: Ошибка при создании компонента с именем «UserService»: Неудовлетворенная зависимость, выраженная через поле «userMapper»; вложенное исключение-организация.пружинная рама.фасоль.фабрика.Исключение UnsatisfiedDependencyException: Ошибка при создании компонента с именем ‘userMapper’, определенным в файле [D:ToolEditorideaIuworkplacetoWordtargetclassescomexampletowordmapperUserMapper.class]: Неудовлетворенная зависимость, выраженная через свойство компонента «SqlSessionFactory»; вложенным исключением является org.пружинная рама.фасоль.фабрика.Исключение BeanCreationException: Ошибка при создании компонента с именем «SqlSessionFactory», определенным в ресурсе пути к классу [com/baomidou/mybatisplus/autoconfigure/MybatisPlusAutoConfiguration.class]: Не удалось создать экземпляр компонента с помощью заводского метода; вложенным исключением является org.springframework.beans.Исключение BeanInstantiationException: Не удалось создать экземпляр [org.apache.ibatis.session.SqlSessionFactory]: Фабричный метод «SqlSessionFactory» выдал исключение; вложенное исключение-java.lang.NoClassDefFoundError: org/springframework/jdbc/источник данных/транзакцияwaredatasourceproxy
Пользовательский контроллер
@RestController
public class UserController {
@Autowired
private UserService service;
@RequestMapping("/queryAlluser")
public List<User> queryalluser() {
List<User> list = service.queryAlluser();
return list;
}
}
UserMapper
@Mapper
@Component
public interface UserMapper {
List<User> queryAlluser();
}
UerService
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> queryAlluser(){
return userMapper.queryAlluser();
}
}
UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.toword.mapper.UserMapper">
<select id="queryAlluser" resultType="com.example.toword.entity.User">
select *
from user
</select>
</mapper>
Я добавил @MapperScan(базовые пакеты =»com.example.toword.mapper») в приложение SpringBootApplication.
И настроили отображение местоположения в приложении.yml следующим образом.
mybatis:
mapper-locations: classpath:com.example.toword.mapper/*.xml
configuration:
map-underscore-to-camel-case: true
Комментарии:
1.
java.lang.NoClassDefFoundError: org/springframework/jdbc/datasource/TransactionAwareDataSourceProxy
— Это ошибка во время выполнения, а не компиляции. Вы успешно скомпилировали библиотеку в classpth, но пытаетесь запустить приложение без нее в пути к классу. Пожалуйста, укажите командную строку, которую вы используете для запуска приложения.2. о! да, я обнаружил, что моя <зависимость > от области spring-jdbc была тестовой . Боже, я такая глупая .