Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Как насчет реального плетения байт-кода?— в этом месте сильно задумался как фраза звучала в оригинале.
Spring Boot — это самоуверенная версия Spring Framework— тут сдался и полез в оригинал.
Спасибо за замечания. Предлагаются варианты перевода:
Про "компетентный" подход подсмотрел в переводе книги про Spring Framework.
Модель Spring ведет себя почти как картатут я бы не переводил, а может даже уточнить, что реализация interface Map
Опять же, это ссылка на ваш взглядимеется ввиду View.
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();
}
}AspectJ, с другой стороны, позволяет вам изменять фактический байт-код путем ткачества времени загрузки или ткачества времени компиляции.
Очень странный перевод :)
Что такое Spring Framework? От внедрения зависимостей до Web MVC