1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521

Каркас Spring boot или mvc + security + работа с бд

05.04.2019, 12:40. Показов 4324. Ответов 39

Студворк — интернет-сервис помощи студентам
Нужно web приложение с авторизацией(пытался прикрутить spring security), в которой пользователи создают тикеты(вопросы), а эксперты на них отвечают. И также есть администратор. Находил в инете тьму статей по работе со спрингом, пытался завести, но все тщетно. Это учебная работа, поэтому нужно все на минималках без наворотов. Нужна НЕ ГОТОВАЯ работа целиком, а просто каркас - пример работающих контроллеров, спринг секьюрити работающего с бд. Готов заплатить.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.04.2019, 12:40
Ответы с готовыми решениями:

Работа с двумя контроллерами (Spring MVC + Security)
У меня есть два контроллера, я хочу чтобы сначала запустился "AuthorizationController" package adil.java.schoolmaven.controller; ...

Каркас для Spring web mvc приложения
Используемые технологии: Hibernate (DAO - слой) Vaadin (View - слой) MySQL Spring MVC IDE - Idea(+tomcat+maven) Суть...

Jetty embedded + Spring MVC + Spring Security
Добрый день. По роду работы приходилось писать на JavaSE, в том числе и сложные клиент/серверные программы. Использовал Netty, Apache...

39
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
05.04.2019, 12:52
Лучший ответ Сообщение было отмечено Pantheonptz как решение

Решение

в гугле забанили? Первая же ссылка, например
https://medium.com/@gustavo.po... d8545d837d
1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
05.04.2019, 15:34
Pantheonptz, см. прикрепленную тему этого раздела
1
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
06.04.2019, 21:53  [ТС]
При загрузке страницы login
Code
1
Failed to load the widgetset: ./../VAADIN/widgetsets/AppWidgetset/AppWidgetset.nocache.js?1554576692244
Как установить VAADIN?
0
 Аватар для reisal78
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,926
06.04.2019, 21:58
Цитата Сообщение от Pantheonptz Посмотреть сообщение
Как установить VAADIN?
https://spring.io/guides/gs/crud-with-vaadin/
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 10:34  [ТС]
Ничего не понял из статьи. Нужно добавить эти зависимости и maven все сделает? Так вроде там есть все эти зависимости. Пытался запускать maven install. Он что то там крутил, но ничего не изменилось.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>org.springframework</groupId>
    <artifactId>gs-crud-with-vaadin</artifactId>
    <version>0.1.0</version>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
    </parent>
 
    <properties>
        <java.version>1.8</java.version>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
    </dependencies>
 
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
 
</project>
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 10:47
Цитата Сообщение от Pantheonptz Посмотреть сообщение
Так вроде там есть все эти зависимости
А ты пониже почитай. Особенно пункт Vaadin dependencies
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 10:49  [ТС]
нашел такой способ решения проблемы
Code
1
2
3
4
5
Откройте файл gwt.xml и убедитесь, что он выбран в проводнике проекта в eclipse
Убедитесь, что установлен ваш Vaadin в плагине eclipse.
Найдите кнопку Compile Widgetset на панели инструментов Eclipse, которая входит в состав плагина vaadin и выглядит как механизм. Нажмите
Шаг 3 скомпилирует набор виджета для вас
Перезагрузите сервер и запустите приложение
файл есть, плагин установлен, но кнопки компилировать нет.
0
07.04.2019, 10:54

Не по теме:

Summary: IDEA рулит!

0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 11:17  [ТС]
Прочитал.
Эта зависимость в pom уже есть
Code
1
2
3
4
5
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
Добавил в конец pom
Code
1
2
3
4
5
6
7
8
9
10
11
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-bom</artifactId>
            <version>10.0.11</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
После ребилда сразу отпали другие библиотеки. все что начинается с
Code
1
import com.vaadin.data.
подсветилось как ошибка.

Добавлено через 21 минуту
Открыл проект в IDEA - запустил spring boot - все скомпилировалось и все работает. Вопрос - кто делал эту Эклипс! В ней ничего не работает.
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 11:19
Pantheonptz, я ж тебе говорил!
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 11:34  [ТС]
для подключения бд нужно добавить application.yml
что писать в name и url?
Code
1
2
3
4
5
6
7
8
9
10
Currently used inmemory hsqldb. 
To use different database add application.yml file and configure the properties:
spring:
 
    datasource:
        name: <name>
        url: <db url>
        username: <db user>
        password: <db pass>
        driver-class: <driver>
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 11:48
Pantheonptz, на том же сайте пример для мускула (по образу и подобию любая бд подключается)
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 12:10  [ТС]
Сделал так
Code
1
2
3
4
5
6
7
spring:
  datasource:
    name: ticketssystem
    url: jdbc:mysql://localhost:3306
    username: root
    password: ""
    driver-class: com.mysql.cj.jdbc.Driver
Говорит временная зона не настроена. Какие то еще настройки нужны?
Code
1
java.sql.SQLException: The server time zone value 'RTZ 2 (çèìà)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 12:20
Server time zone, jdbc, Ошибка
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 13:24  [ТС]
Сделал - не помогает
Code
1
2
3
4
5
6
7
spring:
  datasource:
    name: mysql
    url: jdbc:mysql://localhost:3306/ticketssystem?useLegacyDatetimeCode=false;serverTimezone=UTC
    username: root
    password: ""
    driver-class: com.mysql.cj.jdbc.Driver
Code
1
java.sql.SQLException: The server time zone value 'RTZ 2 (çèìà)' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 13:29
Pantheonptz, какая версия коннектора мускула у тебя в зависимостях прописана?
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 14:00  [ТС]
Вроде запустилось
Code
1
    url: jdbc:mysql://localhost:3306/ticketssystem?verifyServerCertificate=false&useSSL=false&requireSSL=false&useLegacyDatetimeCode=false&serverTimezone=UTC
Вопрос про миграции - зачем они в этом проекте? что это за таблицы?
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.setFilterChainProxySecurityConfigurer(org.springframework.security.config.annotation.ObjectPostProcessor,java.util.List) throws java.lang.Exception; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityConfig': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.it.service.UserService com.it.server.SecurityConfig.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.it.repository.UserRepository com.it.service.UserService.userRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': Cannot create inner bean '(inner bean)#4ff9f673' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#4ff9f673': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.internal.dbsupport.FlywaySqlScriptException: 
Migration V1_000__sample.sql failed
-----------------------------------
SQL State  : 42000
Error Code : 1064
Message    : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BY DEFAULT AS IDENTITY,
    val1 varchar(255) not null,
    val2 varchar(255) not null' at line 2
Location   : db/migration/V1_000__sample.sql (C:\Projects\Eclipse\ticket-ex\target\classes\db\migration\V1_000__sample.sql)
Line       : 1
Statement  : CREATE TABLE TEST_TABLE (
    id BIGINT GENERATED BY DEFAULT AS IDENTITY,
    val1 varchar(255) not null,
    val2 varchar(255) not null
)
я так понимаю у mysql немного другой sql синтаксис. Зачем нужны эти миграции?

Добавлено через 10 минут
Подправил SQL. Миграция вроде прошла. В бд создалась
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
Table: schema_version
Columns:
version_rank int(11) 
installed_rank int(11) 
version varchar(50) PK 
description varchar(200) 
type varchar(20) 
script varchar(1000) 
checksum int(11) 
installed_by varchar(100) 
installed_on timestamp 
execution_time int(11) 
success tinyint(1)
Вопрос - как? в sql были совершенно другие поля и названия таблиц.
Потом возникает ошибка - видимо не находит таблицы user(почему миграция не создает эту таблицу?)
Code
1
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfiguration.setFilterChainProxySecurityConfigurer(org.springframework.security.config.annotation.ObjectPostProcessor,java.util.List) throws java.lang.Exception; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'securityConfig': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.it.service.UserService com.it.server.SecurityConfig.userService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.it.repository.UserRepository com.it.service.UserService.userRepository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userRepository': Cannot create inner bean '(inner bean)#371b5cce' of type [org.springframework.orm.jpa.SharedEntityManagerCreator] while setting bean property 'entityManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#371b5cce': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is org.flywaydb.core.api.FlywayException: Validate failed. Migration Checksum mismatch for migration 1.000
Добавлено через 16 минут
Попытался прочесть всё это сообщение об ошибке. Оказалось что в классе SecurityConfig.java
Java
1
2
@Inject
    private UserService userService;
Code
1
2
Could not autowire. No beans of 'UserService' type found.
Inspection info:Checks autowiring problems in a bean class.
Класс UserService вроде есть
0
Эксперт PythonЭксперт Java
19523 / 11060 / 2931
Регистрация: 21.10.2017
Сообщений: 23,295
07.04.2019, 14:02
Цитата Сообщение от Pantheonptz Посмотреть сообщение
Класс UserService вроде есть
А он у тебя как-нибудь аннотирован? @Service например...
0
1 / 1 / 4
Регистрация: 05.05.2017
Сообщений: 521
07.04.2019, 14:24  [ТС]
да. это собсно пример из закрепа форума, пытаюсь его переделать под свои нужды.
Java
1
2
3
4
5
6
7
8
@Service
public class UserService implements UserDetailsService{
    
    @Inject
    private UserRepository userRepository;
    
    @Inject
    private Md5PasswordEncoder encoder;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2019, 14:24
Помогаю со студенческими работами здесь

Настройка spring boot security
Всем привет! Подскажите пожалуйста, как настроить security конфиг, если веб запущен отдельно от бека. Сейчас у меня настройки, когда веб...

Spring Boot + Security + Data
При поднятии сервера приложения в консоле выводит сообщение 19-Apr-2016 16:20:13.584 SEVERE ...

Spring Boot mvc
Нужно создать веб страницу с полем для ввода сообщений и кнопкой отправки, эти сообщения должны сохраняться в ArrayList, затем выводить на...

Spring Boot - работа с Mysql
Я новичок в Spring'е, прошу камнями не забрасывать, возможно вопросы покажутся простыми... но начинать знакомство в простом веб проекте со...

Spring MVC работа с формой
Добрый день! Для тех, кто работал со Spring MVC ни для кого не секрет, что Spring имеет свою собственную библиотеку тегов. Об одном из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Как украсить новогоднюю елку с Q# и Qiskit
EggHead 24.06.2025
Что может быть необычнее, чем применить законы квантовой механики для украшения новогодней елки? Пока другие развешивают обычные гирлянды, я решил объединить свою страсть к квантовым вычислениям с. . .
Системы нулевого доверия на C#
UnmanagedCoder 24.06.2025
Традиционная архитектура безопасности работает по принципу средневекового замка: создаём высокие стены вокруг корпоративной сети, укрепляем ворота межсетевыми экранами и системами обнаружения. . .
Снова не мой путь. Циклическое среднее, я обеими руками за проверку условия, в ракурсе данной задачи - циклическое среднее в топку.
Hrethgir 24.06.2025
Привет. Такой вопрос - нужно выводить среднее математическое между двумя направлениями, интервал значений которых может лежать в диапазоне одного оборота по кругу. Проблема заключается в том, что. . .
Деплой Flask приложения
py-thonny 23.06.2025
За годы работы с Flask я натыкался на одни и те же грабли достаточно часто, чтобы наконец научится их обходить. И сегодня хочу поделится опытом, который сбережет вам немало нервных клеток. Начнем с. . .
WebAssembly и контейнеры в .NET Aspire для оркестрации распределенных архитектур
ArchitectMsa 23.06.2025
Я наблюдаю, как WebAssembly (или просто WASM) постепенно выходит за рамки своего первоначального предназначения — исполнения кода на стороне браузера. Теперь эта технология проникает в серверную. . .
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru