salerik_das Code
Brought to you by:
teasnx
File | Date | Author | Commit |
---|---|---|---|
project | 2015-04-08 |
![]() |
[b590ee] Initial Commit |
Readme.txt | 2015-04-08 |
![]() |
[b590ee] Initial Commit |
Backend сервера построен на фраемворке Spring Особый интерес представляет пакет "dao" (src\main\java\kik\core\dao), в нем находятся все функциональные элементы по работе DAS сервером Особое внимание советую обратить в сторону Рефлексии ("src\main\java\kik\core\InjectionTst"). Основной смысл Рефлексии - по именам полей класса проиницилизовать его значения пришедшим объектом от DAS сервера,где поле атрибута "code" - имя поля Java класса, таким образом, избавляемся от нудного перекладывания данных из одного объекта в другой. Сама простая реализация Рефлексии, по опыту, достигается, когда внедряемые данные приходят в как можно простом виде (JSON строка). Пример: AttributeMeta Info:[{code: "inches",type: int},{code:"name", type:varchar}] P.S. type - Для привидения типов. public Class Product{ private int inches; private String name; private void setInches (int _inch){ this.inches=_inch; } private void setName (String _nm){ this.name=_nm; } } public Class Injector{ public Injector(Att_Json, Object cl){ //Получаем все сеттеры Set<Method> setters = ReflectionUtils.getAllMethods(cl.getClass(), ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("set")); //получаем все геттеры Set<Method> getters = ReflectionUtils.getAllMethods(cl.getClass(), ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("get")); //Получаем все изсеры :) Set<Method> iss = ReflectionUtils.getAllMethods(cl.getClass(), ReflectionUtils.withModifier(Modifier.PUBLIC), ReflectionUtils.withPrefix("is")); //По каждому из Set'ов обходим все поля и внедряем ресурсы в соответсвии со значениями атрибутов в поле 'code' for (Field field: cl.getClass().getFields()){ } for (Method get :getters){ //mth.invoke(); //Вызов метода на исполнение, для получения//вставку значения } for (Method set :setters){ System.out.println(); } for (Method is :iss){ } } } Все. Добрая часть моделей данных умеет заполняться. С Любыми вопросами обращайтеся по тел. +7 926 05 888 62 - Александр Митин