У меня есть веб-приложение Spring Boot. Он основан на подходе RESTful. Кажется, что вся конфигурация установлена, но по какой-то причине MainController не может обработать запрос. Это приводит к ошибке 404. Как это исправить?
@Controller
public class MainController {
@Autowired
ParserService parserService;
@RequestMapping(value="/", method= RequestMethod.GET)
public @ResponseBody String displayStartPage(){
return "{hello}";
}
}
Приложение
@Configuration
@ComponentScan(basePackages = "")
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer{
public static void main(final String[] args) {
SpringApplication.run(Application.class, args);
}
@Override
protected final SpringApplicationBuilder configure(final SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
Контроллер синтаксического анализа
@RestController
public class ParserController {
@Autowired
private ParserService parserService;
@Autowired
private RecordDao recordDao;
private static final Logger LOG = Logger.getLogger(ParserController.class);
@RequestMapping(value="/upload", method= RequestMethod.POST)
public @ResponseBody String fileUploadPage(
}
}
ОБНОВЛЕНИЕ
Похоже, MySQL не может быть инициализирован Spring....
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration': Injection of autowired dependencies failed;
nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private javax.sql.DataSource org.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration.dataSource;
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$NonEmbeddedConfiguration.class]: Instantiation of bean failed;
nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Factory method [public javax.sql.DataSource org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$NonEmbeddedConfiguration.dataSource()] threw exception;
nested exception is org.springframework.beans.factory.BeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embedded database please put a supported one on the classpath.
UPDATE2
application.properties
# Database
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.url = jdbc:mysql://localhost:3306/logparser
spring.datasource.username = root
spring.datasource.password = root
spring.jpa.database = MYSQL
spring.jpa.show-sql = true
# Hibernate
hibernate.dialect: org.hibernate.dialect.MySQL5Dialect
hibernate.show_sql: true
hibernate.hbm2ddl.auto: update
entitymanager.packagesToScan: /
UPDATE4
Похоже, что контроллеры Lite не отвечают, хотя @RequestMapping установлен. Почему это может быть?
PS. Это происходит, когда я запускаю тест жизненного цикла Maven.
При работе в режиме отладки в IntelliJ ошибка не выводится.
UPDATE5
Кроме того, я использую этот DAO, как описано в руководстве....
public interface RecordDao extends CrudRepository {
}
http://blog.netgloo.com/2014/10/27/usin ... hibernate/
ОБНОВЛЕНИЕ6
Я изменил свойства своего приложения. И попробовал каждую комбинацию, но она отказывается работать. ;(
Вывод Maven:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running IntegrationTest
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 2.365 sec
Подробнее здесь: https://stackoverflow.com/questions/280 ... ass-path-r