Articles of весна

Миграция с Java 6 на Kotlin

У меня есть некоторые проекты в Java 6 и Spring на сервере приложений. Из-за ограничений в моей инфраструктуре и планировании управления я не могу перейти на более новые Java 7 или 8. Я думаю, что я мог бы добавить Kotlin в эти проекты, чтобы использовать такие функции, как функциональное программирование. Это такой подход – хороший […]

Как получить доступ к Mono <T> При обработке исключения с помощью onErrorMap ()?

В классе данных я определил, что «имя» должно быть уникальным для всей коллекции mongo: @Document data class Inn(@Indexed(unique = true) val name: String, val description: String) { @Id var id: String = UUID.randomUUID().toString() var intro: String = "" } Поэтому при обслуживании я должен зафиксировать неожиданное исключение, если кто-то снова передает одно и то же […]

Весна @ Работает в Котлине

У меня есть одна проблема с аннотацией @Autowire в моем коде Kotlin. Существует один фрагмент кода, который отлично работает @Controller open class PaymentController { @Autowired lateinit var autowiredBean: AutowiredBean @RequestMapping(value = "/SomePage", method = arrayOf(RequestMethod.GET)) fun somePage(@RequestParam("param") param: Int): ModelAndView { // some code } } Но после добавления проверки безопасности аннотация @Autowire перестает работать […]

@Param не работает в Spring Data JPA

Я создаю Spring Data JPA Repo для работы с последовательностями в базе данных postgresql. Я предполагал, что это будет довольно просто: @Query(nativeQuery = true, value = "CREATE SEQUENCE IF NOT EXISTS ':seq_name' START WITH :startAt") fun createSequence(@Param("seq_name") seq_name: String, @Param("startAt") startAt: Long = 0) @Query(nativeQuery = true, value = "SELECT nextval(':seq_name')") fun nextSerial(@Param("seq_name") seq_name: String) […]

Kotlin NoClassDefFoundError с помощью метода spring @RequestMapping

Я пытаюсь изучить некоторые основы весны, используя Kotlin + IntelliJ, и я столкнулся с некоторыми проблемами. @RequestMapping аннотированный метод (с параметрами) вызывает исключение, в то время как эквивалент Java работает отлично. Котлинский код работает отлично, но только без метода processFormTwo (преобразование рабочего кода Java в kotlin тоже не помогает). Вот код: @Controller class HelloWorldController { […]

Частичное обновление REST в Spring Boot и Kotlin

У меня есть проект с Spring Boot + Kotlin + Morphia. Мне нужно добавить частичное обновление моих объектов. Мой фактический метод сообщения: @PostMapping("update/") fun updateStudent(@RequestBody @Valid student: Student, results: BindingResult): ResponseData<Student> { if (results.hasErrors()) return ResponseData(errors = results.errors) if (!student.canEdit(login.user)) return ResponseData() student.save() return ResponseData(data = student) } Мне нужно читать ученика из базы данных […]

Spring Boot – не может включать статический ресурс

Структура каталога Я пытаюсь включить css в profile.html <link th:href="@{css/profile.css}" rel="stylesheet" /> Но это не работает Мой класс приложений @SpringBootApplication class Application fun main(args: Array<String>) { SpringApplication.run(Application::class.java, *args) } PS Извините за мой английский

Составление навигационных конфигураций с использованием функциональной DSL-функции Kotlin

Одна вещь, которая мне нравится в Spring java-config, – это возможность сделать мою конфигурацию очень доступной для навигации по шаблону, подобному этому . Это позволяет мне разделить мою конфигурацию и легко перейти к конфигурации. Я пытался сделать что-то вроде этого с помощью BeanDefinitionDsl, и это было больше хлопот, чем я ожидал. Кто-нибудь из вас играет […]

Настройте проект Spring Boot с Kotlin

Я начал новый проект, чтобы узнать Kotlin, я получил шаблон проекта в Spring Initializr и создал контроллер для сопоставления моего ресурса. StudentController @RestController class StudentController { @GetMapping("/students") fun getStudent(): Student { return Student("name", "test") } } заявка @SpringBootApplication class DemoApplication fun main(args: Array<String>) { SpringApplication.run(DemoApplication::class.java, *args) } application.properties debug=true Я запускаю проект, и когда я […]

Как исправить инициализацию поля val с помощью прокси-сервера Spring Security?

Рассмотрим класс контроллера kotlin: @RestController @RequestMapping("/myPath/") open class MyController { private val s3AsyncClient: S3AsyncClient = S3AsyncClient.builder().build() //… @PostMapping("/indexing") @Secured("ROLE_USER") fun someFunction() { return s3AsyncClient.toString(); } } Это приводит к исключению NullPointerException. Вот что я видел в отладчике: Но когда @Secured удаляется, все работает. Таким образом, кажется, что прокси-сервер весенней безопасности прерывает инициализацию kotlin val. есть […]