Що там у них в Java

Развенчание мифа о тяжёлой жизни не 1С программистов на примере создания веб сервиса редактирования таблички с использованием framework spring в Java.

Нам, программистам 1с, очень повезло, нам не нужно думать, как в СУБД создаются таблички, как из объектов получаются записи в табличках и наоборот, как из таблички получаются объекты, которыми мы оперируем.

Нам не нужно думать, как устанавливается соединение с СУБД, и вообще мы можем через настройки перенести базу данных с одной СУБД на другую.

Сказочно!!! не то что программистам на других языках, "все нужно прописывать", страдать и скрипя зубами от злости завидовать нам, программистам 1с. 

Представьте, что программисту java дали задачку сделать табличку и сделать Веб сервис, через который ее можно будет просматривать и редактировать.

Задача непростая, это же "нужно все прописывать", поэтому нужно заплатить ему триллиард и оставить в покое на год или два….

Через 15 минут, доклад  — "все готово".

Смотрите код, предвкушая треш и ад, а там всего три класса и один интерфейс.

Точка входа

package com.zarubin.orders;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class OrdersApplication {

public static void main(String[] args) {
SpringApplication.run(OrdersApplication.class, args);
}
}

Enitity — описывает структуру сущности

package com.zarubin.orders.entity;
import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Data
@Entity
public class Employee {

private @Id
@GeneratedValue
Long id;
private String firstName;
private String lastName;
private String description;

private Employee() {}

public Employee(String firstName, String lastName, String description) {
this.firstName = firstName;
this.lastName = lastName;
this.description = description;
}
}

repository — описывает работу с хранилищем

package com.zarubin.orders.repository;
import com.zarubin.orders.entity.Employee;
import org.springframework.data.repository.PagingAndSortingRepository;

public interface EmployeeRepository extends PagingAndSortingRepository<Employee, Long> {

 

controller — обеспечивает взаимодействие клиента и хранилища

package com.zarubin.orders.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {

@RequestMapping(value = "/")
public String index() {
return "index";
}

}

А где открытие соединений, исключения, где ад-то?

Все дело в том,  Що там у них в Java есть фреймворк Spring, который сейчас является практически стандартом для энтерпрайз приложений на языке java.

И этот фреймворк делает фокусы не хуже 1с, и таблички тебе создаст, и классы из табличек поднимет, и бережно сохранит классы, и веб сервис предоставит, и коня на скаку остановит (но это не точно)….

Заговор раскрыт 🙂

Они там халявят и стригут баблище:)

Для тех, кто хочет узнать подробнее о spring data,  доклад от настоящего spring потрошителя Евгения Борисова

 

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *