Форум программистов, компьютерный форум, киберфорум
Java: Spring, Spring Boot
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68

Каркас для Spring web mvc приложения

18.12.2017, 20:38. Показов 1721. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Используемые технологии:
  • Hibernate (DAO - слой)
  • Vaadin (View - слой)
  • MySQL
  • Spring MVC
IDE - Idea(+tomcat+maven)

Суть приложения - тренировочная программка, где в качестве модели будет единственный клас - Person(id,name). Для работы с БД - Hibernate+MySQL. Слой для работы с БД усложнять не хочу, и весь функционал(для работы с БД) хотелось бы вместить в ДАО слое(насколько мне известно правильнее будет использовать еще и service-слой, но чем он отличается от слоя ДАО, по крайней мере в маленьких проектах я не понял).

Вместе эти технологии под одной эгидой я никогда ранее не собирал, поэтому и обратился к вам за помощью.
Было бы идеально, если кто-нибудь сделает скрин пустого проекта с каркасом(каталоги и файлы конфигурации + pom) + краткое описание что куда мне нужно дописать(например в какие-нибудь настройки).

По отдельности доводилось немного ковыряться со всеми вышеописанными технологиями, но только по отдельности. Все вместе собрать своим умом я увы не могу, да и туториалов как их собрать вместе нет, а прибавить к этому отсутсвие опыта + то что технологи эти для меня практически в новинку, я постоянно путаюсь и застреваю. Поэтому надеюсь на вашу помощь!

P.s. Может быть сий каркас пригодится еще кому-нибудь.
P.s.2. Мой текущий каркас https://github.com/kurnakov92/SimpleWebApp/ создавал через архетип Vaadin, и после нескольких попыток приблудить к проекту остальные технологии, понял что заварю кашусутру, котороую расхлебать не смогу и немного приуныл.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2017, 20:38
Ответы с готовыми решениями:

Spring-mvc и правильная разработка web-приложения в целом
Добрый день уважаемые форумчане. Создаю простую web игрушку виселица используя spring-mvc. Всё в целях самообразования. Вообщем вопрос...

Каркас Spring boot или mvc + security + работа с бд
Нужно web приложение с авторизацией(пытался прикрутить spring security), в которой пользователи создают тикеты(вопросы), а эксперты на них...

Работа с web.xml (Spring MVC + MySQL)
Можете проверить правильно ли я написал код в web.xml. Хочу вывести ошибку 404 страница не найдена. WEB XML <?xml...

12
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
18.12.2017, 21:13
Открываешь бутовый инитлзр, тыкаешь галочки... PROFIT!
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
19.12.2017, 08:35
Frizka, https://www.cyberforum.ru/java... 31084.html
вот пример такого проекта. Спринг ваадин и БД
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
20.12.2017, 17:51  [ТС]
Решил начать с БД, написал дао слой, работающий с JdbcTemplate. Spring конфигурировал на Java(без XML), когда допилил минимальный функционал, решил проверить работу написанного. Выскакивает NPE. Как я понял - дело в том что бин не инжектится куда надо.
В лог выводится:
Java
1
2
3
4
5
6
Exception in thread "main" java.lang.NullPointerException
UserDaoImpl.addUser jdbcTemplate: null
    at ru.kurnakov.simplewebapp.dao.UserDaoImpl.addUser(UserDaoImpl.java:27)
    at ru.kurnakov.simplewebapp.SimplewebappApplication.main(SimplewebappApplication.java:26)
 
Process finished with exit code 1
Ссылка на проект https://github.com/kurnakov92/SimpleWebApp
P.s. В спринге чукча не программист, нужна ваша помощь.

Добавлено через 11 минут
Кое-что нарыл, почему - то класс спринг-конфигурации не отрабатывает, => не создается бин...

Добавлено через 11 минут
теперь конгфига отрабатывает, но НПЕ остался

Проблема как я думаю в этом месте или поблизости (класс UserDaoImpl):
Java
1
2
3
4
5
 
@Autowired
    public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }
не инжектится сюда бин никак
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
22.12.2017, 19:50  [ТС]
Такое дело:

Ошибка:
Кликните здесь для просмотра всего текста

Java
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
42
43
44
45
46
47
48
INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ccabbaa: startup date [Fri Dec 22 23:41:09 KRAT 2017]; root of context hierarchy
дек 22, 2017 11:41:09 PM org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition
INFO: Overriding bean definition for bean 'userServiceImpl' with a different definition: replacing [Generic bean: class [myproject.service.UserServiceImpl]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [C:\Users\Oleg\Desktop\JUST DO UT MTFCKER\EXAMPLES\mavenspringdemo\target\classes\myproject\service\UserServiceImpl.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=appConfig; factoryMethodName=userServiceImpl; initMethodName=null; destroyMethodName=(inferred); defined in myproject.configuration.AppConfig]
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.core.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections.
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:600)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:905)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:915)
    at myproject.dao.UserDaoImpl.addUser(UserDaoImpl.java:25)
    at myproject.service.UserServiceImpl.addUser(UserServiceImpl.java:22)
    at myproject.Runner.main(Runner.java:22)
Caused by: java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.core.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections.
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:102)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:73)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:125)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:226)
    at org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:143)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:151)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
    ... 7 more
Caused by: com.mysql.cj.core.exceptions.UnableToConnectException: Cannot load connection class because of underlying exception: com.mysql.cj.core.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:54)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:93)
    ... 14 more
Caused by: com.mysql.cj.core.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:54)
    at com.mysql.cj.core.conf.url.ConnectionUrlParser.parseConnectionString(ConnectionUrlParser.java:134)
    at com.mysql.cj.core.conf.url.ConnectionUrlParser.<init>(ConnectionUrlParser.java:124)
    at com.mysql.cj.core.conf.url.ConnectionUrlParser.parseConnectionString(ConnectionUrlParser.java:113)
    at com.mysql.cj.core.conf.url.ConnectionUrl.getConnectionUrlInstance(ConnectionUrl.java:191)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:196)
    ... 13 more


Конфиг-класс:
Кликните здесь для просмотра всего текста

Java
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
@Configuration
@ComponentScan("myproject")
public class AppConfig {
 
    @Bean
    public SimpleDriverDataSource simpleDriverDataSource(){
        SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
        dataSource.setDriverClass(com.mysql.cj.jdbc.Driver.class);
        dataSource.setUrl("ds.url");
        dataSource.setUsername("ds.username");
        dataSource.setPassword("ds.password");
        return dataSource;
    }
 
    @Bean
    public JdbcTemplate jdbcTemplate(SimpleDriverDataSource dataSource){
        return new JdbcTemplate(dataSource);
    }
 
    @Bean
    public UserDaoImpl userDaoImpl(){
        UserDaoImpl userDao = new UserDaoImpl();
        userDao.setJdbcTemplate(jdbcTemplate(simpleDriverDataSource()));
        return userDao;
    }
 
    @Bean
    public UserServiceImpl userServiceImpl(){
        UserServiceImpl userService = new UserServiceImpl(userDaoImpl());
        return userService;
    }
 
 
}


проперти файл:
Кликните здесь для просмотра всего текста

ds.url=jdbc:mysql://localhost:3306/userdb
ds.username=root
ds.password=root


Почему вылетает ошибка? База есть, имя ей "userdb", логин пароль верны, что спрингу не нравится? па ма ги тя
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
22.12.2017, 19:59
Цитата Сообщение от Frizka Посмотреть сообщение
dataSource.setUrl("ds.url");
это что?
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
22.12.2017, 20:01  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
это что?
это параметр из файла application.properties со значением = jdbc:mysql://localhost:3306/userdb

П.с. сам проект целиком: https://github.com/kurnakov92?tab=repositories
Решил написанное в топике разделить на мелкие части, прежде чем смешить их в одном проекте
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
22.12.2017, 20:02
Frizka, как по-вашему спринг должен понять что это параметр а не просто строка?
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
22.12.2017, 20:16  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Frizka, как по-вашему спринг должен понять что это параметр а не просто строка?
скрин во вложке, на всякий случай ввел параметры не через проперти класс а:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
    @Bean
    public SimpleDriverDataSource simpleDriverDataSource(){
        SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
        dataSource.setDriverClass(com.mysql.cj.jdbc.Driver.class);
        dataSource.setUrl("jdbc:mysql://localhost:3306/userdb");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        return dataSource;
    }


На выходе имеем то же самое:
Кликните здесь для просмотра всего текста

Java
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
42
43
44
    INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ccabbaa: startup date [Sat Dec 23 00:14:17 KRAT 2017]; root of context hierarchy
дек 23, 2017 12:14:18 AM org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition
INFO: Overriding bean definition for bean 'userServiceImpl' with a different definition: replacing [Generic bean: class [myproject.service.UserServiceImpl]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [C:\Users\Oleg\Desktop\JUST DO UT MTFCKER\EXAMPLES\mavenspringdemo\target\classes\myproject\service\UserServiceImpl.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=appConfig; factoryMethodName=userServiceImpl; initMethodName=null; destroyMethodName=(inferred); defined in myproject.configuration.AppConfig]
Sat Dec 23 00:14:18 KRAT 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:600)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:905)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:915)
    at myproject.dao.UserDaoImpl.addUser(UserDaoImpl.java:25)
    at myproject.service.UserServiceImpl.addUser(UserServiceImpl.java:22)
    at myproject.Runner.main(Runner.java:22)
Caused by: java.sql.SQLException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:70)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:853)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)
    at org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:143)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:151)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
    ... 7 more
Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:54)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
    at com.mysql.cj.core.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:118)
    at com.mysql.cj.mysqla.MysqlaSession.configureTimezone(MysqlaSession.java:360)
    at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1434)
    at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:986)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)
    ... 16 more
Миниатюры
Каркас для Spring web mvc приложения  
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
22.12.2017, 20:33
Цитата Сообщение от Frizka Посмотреть сообщение
На выходе имеем то же самое
точно тоже самое? Читать ошибки не пробовали?
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
22.12.2017, 21:14  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
точно тоже самое? Читать ошибки не пробовали?
да, ошибка и правда другая, но тем не менее:
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcCo nnectionException: Failed to obtain JDBC Connection;
получить коннект не удается

Добавлено через 22 минуты
Java
1
2
3
//Без этой доп настройки конекта к БД нет, скорее всего дело в коннекторе
        String fix = "?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";
        dataSource.setUrl("jdbc:mysql://localhost:3306/userdb" + fix);
Живется все веселее и веселее
0
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
22.12.2017, 21:17
Frizka, полный лог ошибки покажите
0
1 / 1 / 2
Регистрация: 18.05.2011
Сообщений: 68
22.12.2017, 21:26  [ТС]
Цитата Сообщение от KEKCoGEN Посмотреть сообщение
Frizka, полный лог ошибки покажите
проблема решена вышеприведенным фиксом, а полный лог (до фикса ) был:
Кликните здесь для просмотра всего текста
Java
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
42
43
44
INFO: Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@4ccabbaa: startup date [Sat Dec 23 01:24:18 KRAT 2017]; root of context hierarchy
дек 23, 2017 1:24:19 AM org.springframework.beans.factory.support.DefaultListableBeanFactory registerBeanDefinition
INFO: Overriding bean definition for bean 'userServiceImpl' with a different definition: replacing [Generic bean: class [myproject.service.UserServiceImpl]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in file [C:\Users\Oleg\Desktop\JUST DO UT MTFCKER\EXAMPLES\mavenspringdemo\target\classes\myproject\service\UserServiceImpl.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=appConfig; factoryMethodName=userServiceImpl; initMethodName=null; destroyMethodName=(inferred); defined in myproject.configuration.AppConfig]
Sat Dec 23 01:24:20 KRAT 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:81)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:600)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:905)
    at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:915)
    at myproject.dao.UserDaoImpl.addUser(UserDaoImpl.java:25)
    at myproject.service.UserServiceImpl.addUser(UserServiceImpl.java:22)
    at myproject.Runner.main(Runner.java:22)
Caused by: java.sql.SQLException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:81)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:55)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:65)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:70)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:853)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:440)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:221)
    at org.springframework.jdbc.datasource.SimpleDriverDataSource.getConnectionFromDriver(SimpleDriverDataSource.java:143)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:205)
    at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:169)
    at org.springframework.jdbc.datasource.DataSourceUtils.fetchConnection(DataSourceUtils.java:151)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:115)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:78)
    ... 7 more
Caused by: com.mysql.cj.core.exceptions.InvalidConnectionAttributeException: The server time zone value 'RTZ 6 (çèìà)' 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.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:54)
    at com.mysql.cj.core.exceptions.ExceptionFactory.createException(ExceptionFactory.java:73)
    at com.mysql.cj.core.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:118)
    at com.mysql.cj.mysqla.MysqlaSession.configureTimezone(MysqlaSession.java:360)
    at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1434)
    at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:986)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:843)
    ... 16 more
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2017, 21:26
Помогаю со студенческими работами здесь

задания по spring core и spring mvc для новичков
Какие задания можно предложить новичкам для выполнения после знакомства их с spring core и mvc ?

Spring MVC проектирование приложения
Хочу сделать небольшой сайт на Spring MVC + Hibernate + JSP , столкнулся с такой проблемой , вот допустим у меня есть 2 jsp страницы ,...

Пример Restful web-приложения Spring
Посоветуйте хороший пример/урок Restful web-приложения с подробными описаниями всех магических штук - подключением к БД(mySql например),...

Mvc web приложения на nodejs. Хорошо/плохо/необходимо/ненужно?
Здравствуйте, я порядка 3-х лет разрабатывал на C#/ASP.NET структура mvc была всегда, сейчас перехожу на nodejs и сталкиваюсь с делимой что...

Spring MVC. 404 ошибка при включении Spring Data JPA в проект
Добрый день. Есть простой шаблонный проект с использованием Spring MVC и Maven. С зависимостями Spring MVC проект собирается нормально и...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru