• Почему не поддерживается MediaType в контроллере?

    @nubus4000
    @PostMapping(value = "/products/add")
        public String addProduct(@ModelAttribute ProductDTO productDTO) {
            service.addProduct(productDTO);
            return "redirect:/products";
        }


    И использовать в шаблоне другой код. Должно быть по полям объекта, который в форме указан. Вот пример:
    <div><span th:text="#{web.text.name}">Name: </span><input type="text" th:field="*{name}"/></div>
  • Как выполнить sql скрипт на старте проекта?

    @nubus4000
    final DataSource dataSource = dataSource();
    ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.addScript(new ClassPathResource("/create.sql"));
    populator.addScript(new ClassPathResource("/data.sql"));
    DatabasePopulatorUtils.execute(populator, dataSource);
  • Как решить org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController'?

    @nubus4000
    В web.xml добавили xml-ки спринговые? Что то типа такого должно быть:
    <context-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>
                /WEB-INF/config/applicationContext.xml
                /WEB-INF/config/dbContext.xml
            </param-value>
        </context-param>
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    @nubus4000
    Max Pushkarev, Я отвечаю на вопрос исходя из его контекста. Не заметил, что тут что то говорили про гугл или всякие близарды. Если человек хочет устроиться в топ-компании за бугром, то это одно, а если хочет получать 120к+ в месяц через условный год, после того как начал обучаться, то это другое.
  • Как (и возможно ли) дотянуться до Junior JavaScript Developer в кратчайшие сроки?

    @nubus4000
    Откуда такие цифры? Может пруфы какие нибудь есть? У меня вот есть. Проработал 6 месяцев, пошёл на собеседование - предложили место старшего разработчика. Потом пошёл ещё раз, но уже в другое место - то же самое. Т.е. опыт коммерческой разработки - 6 месяцев.
    Советую автору не слушать такие советы. Всё зависит в первую очередь от человека и его способностей.
  • Почему переменная roof не меняет своего значения?

    @nubus4000
    Alex, Набросал быстренько, но не проверял. Код тоже не идеальный. Вообще крышу надо выносить как отдельный класс (и для каждой крыши делать своих наследников со своими параметрами, а класс Roof просто будет абстрактным, с дефолтными методами и параметрами), или делать мапу с доступными крышами и работать с ней (если у крыш будет только название и числа). Да вообще много чего можно напридумывать. Есть книга, называется Объектно-ориентированный анализ и проектирование (от Head First), советую прочитать.

    import java.util.Scanner;
    
    public class Work
    {
      public static void main(String[] args)
      {
       House house = new House(getRoofNumber());
       System.out.println(house.getRoof());
      }
      
      public static int getRoofNumber()
      {
        Scanner s = new Scanner(System.in);
        int numberOfRoof = 0;
        
        System.out.println("Choose your roof material:\n"+
                          "1)Default roof\n" + "2)Tile roof\n" + "3)Slate roof");
        
        while(true) 
        {
        if (s.hasNextInt())
        {
          numberOfRoof = s.nextInt();
          break;
        }
        else
        {
          System.out.println("Try again");
        }	
        }
        	return numberOfRoof;
        } 
      }
    
    class House
    {
      private static final int DEFAULT_ROOF_NUMBER = 1;
      private static final int TILE_ROOF_NUMBER = 2;
      private static final int SLATE_ROOF_NUMBER = 3;
      
      private Roof roof;
      
      public House()
      {
      }
      
      public House(Roof roof)
      {
        this.roof = roof;
      }
      
      public House(int numOfRoof)
      {
        switch(numOfRoof)
        {
          case DEFAULT_ROOF_NUMBER:
          	 this.roof = Roof.DEFAULT_ROOF;
          	 break;
         
          case TILE_ROOF_NUMBER:
          	this.roof = Roof.TILE_ROOF;
          	break;
          
          case SLATE_ROOF_NUMBER:
            this.roof = Roof.SLATE_ROOF;
          	break;
          
          default:
          	throw new RoofNotFoundException("Root of number " + numOfRoof + " not found");
        }
      }
      
      public Roof getRoof()
      {
        return roof;
      }
      
      public void setRoof(Roof roof)
      {
        this.roof = roof;
      }
    
    }
    
    enum Roof 
    {
    	  DEFAULT_ROOF, TILE_ROOF, SLATE_ROOF
    }
    
    class RoofNotFoundException extends RuntimeException
    {
      public RoofNotFoundException (String message)
      {
        super(message);
      } 
    }
  • Почему переменная roof не меняет своего значения?

    @nubus4000
    int roof = home.chooseRoof();
    В методе chooseRoof в самом начале:
    int roof = 0;
    И избавиться от лишнего параметра. Это примитив, он не меняется по ссылке, как объект.