powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Клиент-серверное приложение "Библиотека"
25 сообщений из 88, страница 3 из 4
Клиент-серверное приложение "Библиотека"
    #38848101
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nebo, Спасибо. Приступил к просмотру.

Тем временем, играю с spring-config.xml Я получаю вот такое исключение
Line 36 in XML document from class path resource [spring-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/data/jpa/spring-jpa.xsd; lineNumber: 36; columnNumber: 63; src-resolve: Cannot resolve the name 'repository:auditing-attributes' to a(n) 'attribute group' component.
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 36 in XML document from class path resource [spring-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/data/jpa/spring-jpa.xsd; lineNumber: 36; columnNumber: 63; src-resolve: Cannot resolve the name 'repository:auditing-attributes' to a(n) 'attribute group' component.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848107
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой-то геморрой. Поменял пару вещей в pom.xml, и вышеоказанная ошибка пропала, но появилась другая.

Unexpected exception parsing XML document from class path resource [spring-config.xml]; nested exception is org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class [org.springframework.data.jpa.repository.config.JpaRepositoryNameSpaceHandler] for namespace [ http://www.springframework.org/schema/data/jpa%5D:]http://www.springframework.org/schema/data/jpa]: problem with handler class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/config/AuditingHandlerBeanDefinitionParser
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [spring-config.xml]; nested exception is org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class [org.springframework.data.jpa.repository.config.JpaRepositoryNameSpaceHandler] for namespace [ http://www.springframework.org/schema/data/jpa%5D:]http://www.springframework.org/schema/data/jpa]: problem with handler class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/config/AuditingHandlerBeanDefinitionParser
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848164
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем, разобрался с исключениями. Пришлось гуглить, добавлять зависимости в maven, удалять их, менять version и т. д.

Заработал Hibernate, соединение с базой установлено. Прописал вот такую штуку<prop key="hibernate.hbm2ddl.auto">validate</prop>, чтобы оно мне базу не пересоздавало каждый раз.

Но есть проблема в сервисах. Например, лог выдает такое
INFO - DefaultListableBeanFactory - Overriding bean definition for bean 'writerRepository': replacing [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
Честно говоря я не знаю, хорошо это или плохо, но написано Info, никакхи error или exception нету.

Но потом, когда приложение уже работает, я делаю такю штуку

public interface WriterRepository extends CrudRepository<WriterDomain, Long> { }

@Service("WritersService")
@Repository
@Transactional
public class WritersServiceImpl implements WritersService {

@Autowired
private WriterRepository writersRepository;

public List<WriterDto> findAll() {

Iterable<WriterDomain> listOfWriterRecords = writersRepository.findAll();
}
}

И там, где помечено красным вылетает NullPointerException
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848216
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xml файл выглядит вот так вот

Код: 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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:jpa="http://www.springframework.org/schema/data/jpa"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
                       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
                       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
                       http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd">
    
    <context:component-scan base-package="ru.Corp"/>
    <context:annotation-config />
    <aop:aspectj-autoproxy proxy-target-class="true"/>

    <bean id="dataSource"
          class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/library"/>
        <property name="username" value="root"/>
        <property name="password" value="123"/>
    </bean>

    <bean id="transactionManager"
          class="org.springframework.orm.jpa.JpaTransactionManager">

        <property name="entityManagerFactory" ref="emf" />
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="emf" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource"/>

        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
        </property>
        <property name="packagesToScan" value="ru.Corp.domain,ru.Corp.Dao"/>
        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">validate</prop>
            </props>
        </property>
    </bean>

    <jpa:repositories base-package="ru.Corp.Dao.repository" entity-manager-factory-ref="emf" 
          query-lookup-strategy="create-if-not-found" transaction-manager-ref="transactionManager"/>

    <bean class="ru.Corp.Dao.repository.AutowireHelper" factory-method="getInstance" />

</beans>
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848225
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему такая тишина. 150 млн. в стране и никто не в теме ?
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848332
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

Страна отдыхает. И всем лень вникать в твои неформатированые логи, неподкюченые библиотеки и т.п.
Есть общая рекомендация не мешать в кучу инъекции через XML и аннотации. Выбери один способ и его используй.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848378
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczGeronemo,

Страна отдыхает. И всем лень вникать в твои неформатированые логи, неподкюченые библиотеки и т.п.
С библиотеками были проблемы. Разобрался. Все запускается, все зависимости на месте. Но работает не так, как надо. Я пересмотрел кучу примеров в инете. У товарищей якобы все работает.

По поводу логов, можно и отформатировать, но несильно это отличается от того, что было.

INFO - DefaultListableBeanFactory - Overriding bean definition for bean 'writerRepository':
replacing [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean];

scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false;
factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Root bean: class
[org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0;
dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null;
destroyMethodName=null]

Есть общая рекомендация не мешать в кучу инъекции через XML и аннотации. Выбери один способ и его используй.
Ну я делаю по аналогии с реальным проектом, в котором все работает. Что именно вам не нравится. В xml файле прописаны общие вещи, которые для всего проекта.
А в куче классов сущностей, репозиториев и т. д. я уже прописываю аннотации. Разве это не оптимально ?
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848381
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeronemoНу я делаю по аналогии с реальным проектом, в котором все работает.
За такое в универе даже тройку не всегда ставили. Где и как WritersServiceImpl инстанциируется? Как показывает история форума все удивления обычно занканчиваются на банальном new WritersServiceImpl(). У тебя не так?
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848458
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, это у меня сделано. В как быть с
private UserRepository userRepository;

его же я не должен создавать, и по идее имею право делать вот такое

userRepository.findAll();

Но оно выдает NullPointerException
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848460
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

Так WriterRepository или UserRepository?
Варианта два.
Либо Spring Data не сконфигурирован и репозиториев не создаёт.
Либо WritersServiceImpl инстанциирован без контекста и в него вообще ничего не инжектится. Кстати, почему он и Service и Repository одновременно?

Stacktrace NPE покажи. WritersServiceImpl откуда берется у вызывающего класса?
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848538
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczGeronemo,
Так WriterRepository или UserRepository?

У меня есть и тот и тот. И еще несколько репозиториев.
Варианта два.
Либо Spring Data не сконфигурирован и репозиториев не создаёт.

По поводу Спринг Дата, выше я указал конфиг.
В приложениии я делаю такую штуку
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
    private GenericXmlApplicationContext gxac;

.......
            gxac = new GenericXmlApplicationContext();
            gxac.load("classpath:/spring-config.xml");
            gxac.refresh();
            gxac.registerShutdownHook();
        LOG.info("Spring init done");



При запуске лог выглядит так

автор[2015-01-05 04:48:12,842] Artifact HelloWorld:war exploded: Artifact is being deployed, please wait...
янв 05, 2015 4:48:14 PM org.apache.catalina.core.ApplicationContext log
INFO: No Spring WebApplicationInitializer types detected on classpath ?????????????
.....................................
INFO - Application - Application start.
INFO - XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [spring-config.xml]
INFO - DefaultListableBeanFactory - Overriding bean definition for bean 'writerRepository': replacing [Root bean: class ????????????
[org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null] with [Root bean: class [org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean]; scope=; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null]
................... тут еще 3 записи INFO - DefaultListableBeanFactory - Overriding bean definition для осталбных репозиториев
INFO - nericXmlApplicationContext - Refreshing org.springframework.context.support.GenericXmlApplicationContext@507d5db9: startup date [Mon Jan 05 16:48:15 FET 2015]; root of context hierarchy
INFO - DriverManagerDataSource - Loaded JDBC driver: com.mysql.jdbc.Driver
INFO - erEntityManagerFactoryBean - Building JPA container EntityManagerFactory for persistence unit 'default'
WARN - HibernatePersistence - HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
INFO - LogHelper - HHH000204: Processing PersistenceUnitInfo [ name: default...]
INFO - Version - HHH000412: Hibernate Core {4.3.7.Final}
INFO - Environment - HHH000206: hibernate.properties not found
INFO - Environment - HHH000021: Bytecode provider name : javassist
INFO - Version - HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
INFO - Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
INFO - ASTQueryTranslatorFactory - HHH000397: Using ASTQueryTranslatorFactory
INFO - SchemaValidator - HHH000229: Running schema validator
INFO - SchemaValidator - HHH000102: Fetching database metadata
INFO - TableMetadata - HHH000261: Table found: library.book
INFO - TableMetadata - HHH000037: Columns: [numberofbooks, bookname, currentnumberofbooks, bookid]
INFO - TableMetadata - HHH000261: Table found: library.bookinfo
INFO - TableMetadata - HHH000037: Columns: [literaryworkid, bookid]
INFO - TableMetadata - HHH000261: Table found: library.literarywork
INFO - TableMetadata - HHH000037: Columns: [literaryworkid, literaryworkname, authorid]
INFO - TableMetadata - HHH000261: Table found: library.users
INFO - TableMetadata - HHH000037: Columns: [firstname, id, login, lastname, userpassword]
INFO - TableMetadata - HHH000261: Table found: library.writerofliterarywork
INFO - TableMetadata - HHH000037: Columns: [literaryworkid, authorid]
INFO - TableMetadata - HHH000261: Table found: library.writer
INFO - TableMetadata - HHH000037: Columns: [firstname, fullname, authorid, info, lastname]
INFO - Application - Spring init done
Либо WritersServiceImpl инстанциирован без контекста и в него вообще ничего не инжектится. Кстати, почему он и Service и Repository одновременно?
Вкратце класс выглядит так
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@Repository
@Transactional
public class WritersServiceImpl implements WritersService {

    @Autowired
    private WriterRepository writersRepository;

    public List<WriterDto> findAll() {

        Iterable<WriterDomain> listOfWriterRecords = writersRepository.findAll();
    }
}


Слово сервис я убрал. Я много вариантов аннотаций перепробовал. Вот 2 примера из инета
http://habrahabr.ru/post/238487/ http://habrahabr.ru/post/139421/
Stacktrace NPE покажи. WritersServiceImpl откуда берется у вызывающего класса?
Вот как я вызываю service. (В идеале, я бы хотел, чтобы этот сервис был бы RMI И было несколько проектов, но я упростил задачу и буду усложнять ее по мере надобности)

Стектрейс очен длинный, суть его вот в
Caused by: java.lang.NullPointerException
at ru.Bakai.services.impl.UsersServiceImpl.findAll(UsersServiceImpl.java:57)
at ru.Bakai.pages.LoginPage.<init>(LoginPage.java:108)
... 37 more
sersServiceImpl.java:57 - это Iterable<WriterDomain> listOfWriterRecords = writersRepository.findAll();
WritersService service = new WritersServiceImpl ();
service.findAll();
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848543
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeronemoINFO: No Spring WebApplicationInitializer types detected on classpath ?????????????

С этим разобрался, прописал кое-что в Project Structure

но все равно NPT
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848547
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo WritersService service = new WritersServiceImpl ();
service.findAll();
Ха-ха. Сеанс телепатии прошел успешно. Почему ты просто проигнорировал моё замечание про new WritersServiceImpl ()?
Ах, не удобно читать без подсветки кода?

Ты знаешь что такое объект?
Ты знаешь что Spring IoC берет одни объекты и помещает в них ссылки на других. Это называется Dependency Injection.
Ты знаешь что new WritersServiceImpl() создаёт новый объект?
А теперь следи за руками. Spring про этот новый объект ничего не знает и поместить туда ничего не может. Ты его создал сам себе. И хочешь что Spring через какую-то магию туда наижектил зависимостей? Нет никакой магии.

Не нужно пытаться проглотить весь пирог целиком. Начините с основ Dependency Injection, прежде чем использовать всю мощь Spring.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848615
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Так сначала я не создавал объекта и не работало. Потом стал экспериментировать.

Так что не так в коде. Если у товарище по ссылкам якобы все работает, почему у меня нет.

Я вернул, как было, убрал создание объекта. У меня снова writerService.findAll(); выкидывает исключение.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
...................
    @Autowired
    WritersService writerService;

    public LoginPage() {

        writerService.findAll();
    }



Код: java
1.
2.
3.
4.
public interface WritersService extends Serializable
{
    public List<WriterDto> findAll();
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
@Repository
@Transactional
public class WritersServiceImpl implements WritersService {

    @Autowired
    private WriterRepository writersRepository;

        public List<WriterDto> findAll() {
            Iterable<WriterDomain> listOfWriterRecords = writersRepository.findAll();
        }
}



Я играюсь с ключевыми словами Service. Autowired и еще несколькими, смотрю, как сделано по ссылкам, но все время NPE
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848645
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

NPE значит что нет зависимости.
Зависимости нет потому что Spring её не инжектит.
Если Spring не инжектит, значит он не знает про этот объект потому что тот создан вне контекста.
Метод научного тыка проб и ошибок замечательная штука, но не для таких сложных фреймверков.

По стеку кто-то вызывает LoginPage, а тот вызывает Service.
LoginPage это контроллер? Service туда инжектится?
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848712
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczGeronemo,

NPE значит что нет зависимости.
Зависимости нет потому что Spring её не инжектит.
Если Spring не инжектит, значит он не знает про этот объект потому что тот создан вне контекста.
Метод научного тыка проб и ошибок замечательная штука, но не для таких сложных фреймверков.

По стеку кто-то вызывает LoginPage, а тот вызывает Service.
LoginPage это контроллер? Service туда инжектится?

LoginPage вызывается главным классом, где прописано вот такое
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
        LOG.info("Application start.");
        try {
            gxac = new GenericXmlApplicationContext();
            gxac.load("classpath:/spring-config.xml");
            gxac.refresh();
            gxac.registerShutdownHook();
        } catch (Throwable t) {
            LOG.error(t.getMessage(), t);
        }
        LOG.info("Spring init done");



Кстати, в spring-config.xml есть такая строчка
<bean class="ru.corp.Dao.repository.AutowireHelper" factory-method="getInstance" />

И есть такой класс, который я нарыл в инете. Слева от названия класса стоит значок, который означает, что это Spring Bean и если на него нажать, то мы попадаем на эту самую строчку
Код: 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.
public final class AutowireHelper implements ApplicationContextAware {

    private static final AutowireHelper INSTANCE = new AutowireHelper();
    private static ApplicationContext applicationContext;

    private AutowireHelper() {
    }

    public static void autowire(Object classToAutowire, Object... beansToAutowireInClass) {
        for (Object bean : beansToAutowireInClass) {
            if (bean == null) {
                applicationContext.getAutowireCapableBeanFactory().autowireBean(classToAutowire);
            }
        }
    }

    @Override
    public void setApplicationContext(final ApplicationContext applicationContext) {
        AutowireHelper.applicationContext = applicationContext;
    }

    public static AutowireHelper getInstance() {
        return INSTANCE;
    }
}


Этот класс нигде в программе явно не вызывается.
Кстати, очень любопытный момент. Я поставил во всех 3-х методах брейкпойнтах. При запуске программы я побывал во 2-м и 3-м методе и пока гулял дебаггером по разным методам всяких spring классов, в одном месте я увидел, что программа создала 23 бина, из них все мои repository и и все Impl классы. А также куча каких-то системных бинов.
Т. е. бины создаются, но в LoginPage они не видны.
В метод autowire класса AutowireHelper я так ни разу не попал.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38848771
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Любопытно, сделал вот такую штуку из главного класса

автор @Override
public void init() {

List<WriterDto> list;

LOG.info("Application start.");
try {
gxac = new GenericXmlApplicationContext();
gxac.load("classpath:/spring-config.xml");
gxac.refresh();
gxac.registerShutdownHook();

list = ((WritersService)gxac.getBean("writersService")).findAll();

} catch (Throwable t) {
LOG.error(t.getMessage(), t);
}
LOG.info("Spring init done");
}

Выделенная красным строчка действительно вернуло то, что находится в БД.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849106
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Придумал временное решение проблемы.

Создал вот такой метод в главном классе Application

Код: java
1.
2.
3.
    public static  <T> T  getService(String serviceName) {
        return (T)gxac.getBean(serviceName);
    }


А потом вызываю откуда захочу

Код: java
1.
        WritersService writersService =  Application.getService("writersService");



Немного извращение, но это хотя бы работает.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849246
Йуный джавистЪ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭтот класс нигде в программе явно не вызывается.
Кстати, очень любопытный момент. Я поставил во всех 3-х методах брейкпойнтах. При запуске программы я побывал во 2-м и 3-м методе и пока гулял дебаггером по разным методам всяких spring классов, в одном месте я увидел, что программа создала 23 бина, из них все мои repository и и все Impl классы. А также куча каких-то системных бинов.
Т. е. бины создаются, но в LoginPage они не видны.
В метод autowire класса AutowireHelper я так ни разу не попал.
Бросьте эту ахинею, запутаетесь и потеряете время. Изучайте лучше основы программирования.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849256
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

Что такое LoginPage для меня до сих пор загадка. Похоже что проекту остро не хватает Spring MVC, чтобы ваш LoginPage попал под управление Spring.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849378
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Йуный джавистЪБросьте эту ахинею, запутаетесь и потеряете время. Изучайте лучше основы программирования.
Почему ахинею ? И почему вы считаете, что ваш комментарий полезен и компетентен ?

У меня большой опыт програмирования на Java, но у меня был и очень большой перерыв. Я многое забыл, также появилось много новых технологий, фреймворков и т. д. Надо основами Java я работаю итак. Несколько месяцев назад прочитал хорошую книжку, сейчас смотрю видеоуроки (чуть выше товарищ посоветовал, там 18 уроков, я начал их смотреть сначала, очень рекомендую).

По поводу времени. Самый большой поглотитель времени у меня это когда я натыкаюсь на вот такие вот проблемки, когда в теории должно работать, но я что-то где-то забыл прописать, чаще всего по незнанию каких-то нюансов. Можно понимать вопрос в целом, на 80% где-то, но задачу надо решить на 100% и вот эти 20% это какие-то мелочи, которые отнимают кучу времени. И тогда я задаю вопрос на форуме, а сам параллельно пытаюсь найти решение. Вам кажется вопрос глупым, а для меня это препятствие, чтобы продолжить работу. И это надо как-то разрешить. Сейчас я придумал некоторое корявое решение, как получить доступ к сервисам, чтобы была полноценная возможность продолжить работу. Когда знакомые программисты приедут с какого-нибудь Таиланда, я проконсультируюсь и сделаю как надо. А пока есть как есть и я буду сюда задавать глупые вопросы. Мне нечего стесняться Вас или кого-то еще. Я специально задал проекту высокий уровень, чтобы мозг напрягался. Потому что на работе такого рода проекты уже разработаны с т. з. архитектуры. И у меня стоят много каких-то узких задач, которые я делаю по аналогии какими-то более ранними проектами. А мне хочется максимально быстрого прогресса, т. к. я несколько лет потерял в профессиональном плане как программист.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849392
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczGeronemo,

Что такое LoginPage для меня до сих пор загадка. Похоже что проекту остро не хватает Spring MVC, чтобы ваш LoginPage попал под управление Spring.

Вкратце как-то так.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
public class Application extends WebApplication
{

    private static    GenericXmlApplicationContext gxac;

	@Override
	public Class<? extends WebPage> getHomePage()
	{
        return LoginPage.class;
	}
.............

	@Override
	public void init() {
               //Spring init
        }
}



Сразу же при запуске открывается страница LoginPage.
Доступ к бину имею только из GenericXmlApplicationContext gxac; Почему-то бины не инжектятся (или как это называется) я х. з. Я на это проблему убил очень много времени (похоже надо перечитать книгу про тайм-менеджмент). И поэтому оставлю так и продолжу работу над модификацией БД, созданием страниц, сервисов, Domain, Dto классов, потому как это у меня работает, но тут надо очень много чего сделать.
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849489
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>(чуть выше товарищ посоветовал, там 18 уроков, я начал их смотреть сначала, очень рекомендую).

Файна слушаем!

Товарищ ещё посоветует:)

Книжечка: Гибкая разработка приложений на Java с помощью Spring, Hibernate и Eclipse. Анил Хемраджани

Самый длинный путь бывает самым коротким)

https://www.youtube.com/user/ytkach
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849491
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

и вот ещё книжка по Spring

http://www.ozon.ru/context/detail/id/18601936/
...
Рейтинг: 0 / 0
Клиент-серверное приложение "Библиотека"
    #38849493
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geronemo,

на самом деле читать надо очень много. Вдумчиво, последовательно, не торопясь
Со временем, количество перейдёт в качество.
Ребята здесь правы, что надо взяться за теорию. Без неё никак.
...
Рейтинг: 0 / 0
25 сообщений из 88, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Клиент-серверное приложение "Библиотека"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]