Как стать автором
Обновить

Комментарии 14

Очень качественная статья для начинающих! Мне бы такое в свое время.
Как насчет реального плетения байт-кода?
— в этом месте сильно задумался как фраза звучала в оригинале.

Spring Boot — это самоуверенная версия Spring Framework
— тут сдался и полез в оригинал.

val6852, спасибо конечно за труд, но текст неплохо было бы хотя бы перечитывать после машинного перевода, а то местами очень похоже на GTA San Andreas.

Спасибо за замечания. Предлагаются варианты перевода:


  1. Как насчет изменения (прокачки?) реального байт-кода?
  2. В Spring Boot принят "компетентный" подход к Spring Framework.

Про "компетентный" подход подсмотрел в переводе книги про Spring Framework.

Не уверен, что имею право давать советы, так как не являюсь переводчиком, но если бы меня спросили, я бы использовал более уместные и понятные для контекста слова.

1. «Изменения» байт-кода выглядит подходящим словом.
2. Spring Boot наверное «альтернативная версия»

Оригинальность конечно будет терятся, но новичкам это будет намного понятней. Они и так страдают с этими всеми фреймворками.
НЛО прилетело и опубликовало эту надпись здесь
Материал хороший, но когда уже с этим знаком, то перевод местами просто пытается сломать сложившиеся понятия. А целом добротно. Не хватало в свое время.
Отличный пост! Так держать!
Habr! Предлагаю к каждому посту о Spring Framework прикреплять список статей, которые уже были написаны ранее. Каждый год появляется много дублирующей информации, которую авторы не ищут в истории, а пишут сызнова. Парадокс.
Поправьте пожалуйста
Модель Spring ведет себя почти как карта
тут я бы не переводил, а может даже уточнить, что реализация interface Map
Опять же, это ссылка на ваш взгляд
имеется ввиду View.

Спасибо! Исправил.

Пробую Спринг, у меня вопрос к разбирающимся: ловлю BeanCreationException, гуглопоиск не помогЮ помогут местные?
WARNING: Exception encountered during context initialization — cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.annotation.internalAsyncAnnotationProcessor' defined in class path resource [org/springframework/scheduling/annotation/ProxyAsyncConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.scheduling.annotation.AsyncAnnotationBeanPostProcessor]: Factory method 'asyncAdvisor' threw exception; nested exception is java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected

Единственный указатель ошибки на строку создания контекста:
public class App {
    public static void main(String[] args) {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(MyConfig.class);
        DataSource dataSource = ctx.getBean(DataSource.class);
        UserDAO userDAO = ctx.getBean(UserDAO.class);
    }
}

Класс конфига:
@Configuration
@ComponentScan
public class MyConfig { 
  @Bean
@Scope("singleton")
  public  DataSource dataSource(){
    JdbcDataSource datasource = new JdbcDataSource();
    datasource.setURL("jdbc:h2:~/test");
    datasource.setUser("sa");
    datasource.setPassword("");
    return datasource;
  }
}

класс ДАОшки:
@Component
public class UserDAO {
    private DataSource dataSource;

    public UserDAO(@Autowired DataSource dataSource){
        this.dataSource = dataSource;
    }

    public User findById(int id) {
        try (Connection connection = dataSource.getConnection()) { // (1)
            PreparedStatement selectStatement = connection.prepareStatement("select * from users where id =  ?");

        } catch (SQLException e) {
            e.printStackTrace();
        }
        return new User();
    }
}

В ПОМ файле — зависимость spring-context и H2.

AspectJ, с другой стороны, позволяет вам изменять фактический байт-код путем ткачества времени загрузки или ткачества времени компиляции.

Очень странный перевод :)

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации