From d09db308c0d2051b39bdd16d6491d69c50c17801 Mon Sep 17 00:00:00 2001 From: Ievgenij_Pavlenko Date: Sun, 30 Aug 2020 00:57:39 +0200 Subject: [PATCH 1/4] Spring method1 - beans.xml --- Drafts/Weather2/Weather2.iml | 11 +++++++- GuessNumber/pom.xml | 22 ++++++++++++++++ GuessNumber/src/Main.java | 20 --------------- .../src/{ => main/java}/ConsoleOutput.java | 0 .../src/{ => main/java}/GuessNumberGame.java | 0 .../src/{ => main/java}/GuessSource.java | 0 .../src/{ => main/java}/KeyboardGuess.java | 0 GuessNumber/src/main/java/Main.java | 25 +++++++++++++++++++ .../src/{ => main/java}/ResultOutput.java | 0 GuessNumber/src/main/resources/beans.xml | 20 +++++++++++++++ 10 files changed, 77 insertions(+), 21 deletions(-) create mode 100644 GuessNumber/pom.xml delete mode 100644 GuessNumber/src/Main.java rename GuessNumber/src/{ => main/java}/ConsoleOutput.java (100%) rename GuessNumber/src/{ => main/java}/GuessNumberGame.java (100%) rename GuessNumber/src/{ => main/java}/GuessSource.java (100%) rename GuessNumber/src/{ => main/java}/KeyboardGuess.java (100%) create mode 100644 GuessNumber/src/main/java/Main.java rename GuessNumber/src/{ => main/java}/ResultOutput.java (100%) create mode 100644 GuessNumber/src/main/resources/beans.xml diff --git a/Drafts/Weather2/Weather2.iml b/Drafts/Weather2/Weather2.iml index 78b2cc5..f76df2b 100644 --- a/Drafts/Weather2/Weather2.iml +++ b/Drafts/Weather2/Weather2.iml @@ -1,2 +1,11 @@ - \ No newline at end of file + + + + + + + + + + \ No newline at end of file diff --git a/GuessNumber/pom.xml b/GuessNumber/pom.xml new file mode 100644 index 0000000..5324bcf --- /dev/null +++ b/GuessNumber/pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + groupId + GuessNumber + 1.0-SNAPSHOT + + + + + org.springframework + spring-context + 5.2.8.RELEASE + + + + + + \ No newline at end of file diff --git a/GuessNumber/src/Main.java b/GuessNumber/src/Main.java deleted file mode 100644 index be40a08..0000000 --- a/GuessNumber/src/Main.java +++ /dev/null @@ -1,20 +0,0 @@ -public class Main { - - public static void main(String[] args) { - - KeyboardGuess source = new KeyboardGuess(); - ConsoleOutput output = new ConsoleOutput(); - int secretNumber = 15; - int attemptsCount = 3; - - GuessNumberGame game = new GuessNumberGame( - secretNumber, - attemptsCount, - source, - output); - - game.play(); - } - - -} diff --git a/GuessNumber/src/ConsoleOutput.java b/GuessNumber/src/main/java/ConsoleOutput.java similarity index 100% rename from GuessNumber/src/ConsoleOutput.java rename to GuessNumber/src/main/java/ConsoleOutput.java diff --git a/GuessNumber/src/GuessNumberGame.java b/GuessNumber/src/main/java/GuessNumberGame.java similarity index 100% rename from GuessNumber/src/GuessNumberGame.java rename to GuessNumber/src/main/java/GuessNumberGame.java diff --git a/GuessNumber/src/GuessSource.java b/GuessNumber/src/main/java/GuessSource.java similarity index 100% rename from GuessNumber/src/GuessSource.java rename to GuessNumber/src/main/java/GuessSource.java diff --git a/GuessNumber/src/KeyboardGuess.java b/GuessNumber/src/main/java/KeyboardGuess.java similarity index 100% rename from GuessNumber/src/KeyboardGuess.java rename to GuessNumber/src/main/java/KeyboardGuess.java diff --git a/GuessNumber/src/main/java/Main.java b/GuessNumber/src/main/java/Main.java new file mode 100644 index 0000000..86a91f5 --- /dev/null +++ b/GuessNumber/src/main/java/Main.java @@ -0,0 +1,25 @@ +import org.springframework.context.ApplicationContext; +import org.springframework.context.support.ClassPathXmlApplicationContext; + +public class Main { + + public static void main(String[] args) { + ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); + +// KeyboardGuess source = new KeyboardGuess(); +// ConsoleOutput output = new ConsoleOutput(); +// int secretNumber = 15; +// int attemptsCount = 3; +// +// GuessNumberGame game = new GuessNumberGame( +// secretNumber, +// attemptsCount, +// source, +// output); + GuessNumberGame game = context.getBean("guessNumberGame", GuessNumberGame.class); + + game.play(); + } + + +} diff --git a/GuessNumber/src/ResultOutput.java b/GuessNumber/src/main/java/ResultOutput.java similarity index 100% rename from GuessNumber/src/ResultOutput.java rename to GuessNumber/src/main/java/ResultOutput.java diff --git a/GuessNumber/src/main/resources/beans.xml b/GuessNumber/src/main/resources/beans.xml new file mode 100644 index 0000000..8cdcf75 --- /dev/null +++ b/GuessNumber/src/main/resources/beans.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + \ No newline at end of file From 53915bcf09258fc0efe74d9306360cb754c51242 Mon Sep 17 00:00:00 2001 From: Ievgenij_Pavlenko Date: Sun, 30 Aug 2020 01:13:22 +0200 Subject: [PATCH 2/4] Spring method2 - beans.xml + @Component --- GuessNumber/src/main/java/GuessNumberGame.java | 7 +++++++ GuessNumber/src/main/java/KeyboardGuess.java | 3 +++ GuessNumber/src/main/resources/beans.xml | 9 +-------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/GuessNumber/src/main/java/GuessNumberGame.java b/GuessNumber/src/main/java/GuessNumberGame.java index 149d6f0..7624595 100644 --- a/GuessNumber/src/main/java/GuessNumberGame.java +++ b/GuessNumber/src/main/java/GuessNumberGame.java @@ -1,11 +1,18 @@ +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +@Component public class GuessNumberGame { + @Value("15") // Error:java: javacTask: source release 8 requires target release 1.8 - везде Java 8 стоит private int secretNumber; + @Value("3") private int attemptsCount; private GuessSource guessSource; private ResultOutput output; + @Autowired public GuessNumberGame(int secretNumber, int attemptsCount, GuessSource source, diff --git a/GuessNumber/src/main/java/KeyboardGuess.java b/GuessNumber/src/main/java/KeyboardGuess.java index 3482a5d..f209a81 100644 --- a/GuessNumber/src/main/java/KeyboardGuess.java +++ b/GuessNumber/src/main/java/KeyboardGuess.java @@ -1,5 +1,8 @@ +import org.springframework.stereotype.Component; + import java.util.Scanner; +@Component public class KeyboardGuess implements GuessSource { Scanner scanner = new Scanner(System.in); @Override diff --git a/GuessNumber/src/main/resources/beans.xml b/GuessNumber/src/main/resources/beans.xml index 8cdcf75..7083162 100644 --- a/GuessNumber/src/main/resources/beans.xml +++ b/GuessNumber/src/main/resources/beans.xml @@ -7,14 +7,7 @@ http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - - - - - - - + \ No newline at end of file From 0c5a29bd2c29939daff8b65e98371a956cad32e1 Mon Sep 17 00:00:00 2001 From: Ievgenij_Pavlenko Date: Sun, 30 Aug 2020 01:31:15 +0200 Subject: [PATCH 3/4] Spring method2 -Config.class - error( --- .../src/main/java/ApplicationConfig.java | 25 +++++++++++++++++++ .../src/main/java/GuessNumberGame.java | 8 ------ GuessNumber/src/main/java/KeyboardGuess.java | 3 --- GuessNumber/src/main/java/Main.java | 12 ++++++++- 4 files changed, 36 insertions(+), 12 deletions(-) create mode 100644 GuessNumber/src/main/java/ApplicationConfig.java diff --git a/GuessNumber/src/main/java/ApplicationConfig.java b/GuessNumber/src/main/java/ApplicationConfig.java new file mode 100644 index 0000000..304d5ab --- /dev/null +++ b/GuessNumber/src/main/java/ApplicationConfig.java @@ -0,0 +1,25 @@ +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ComponentScan +public class ApplicationConfig { + + @Bean + public KeyboardGuess getkeyboardGuess() { + return new KeyboardGuess(); + } + + @Bean + public ConsoleOutput getconsoleOutput() { + return new ConsoleOutput(); + } + + @Bean + public GuessNumberGame getguessNumberGame(KeyboardGuess keyboardGuess, ConsoleOutput consoleOutput) { + return new GuessNumberGame(15, 3, keyboardGuess, consoleOutput); + } + + +} diff --git a/GuessNumber/src/main/java/GuessNumberGame.java b/GuessNumber/src/main/java/GuessNumberGame.java index 7624595..76c9723 100644 --- a/GuessNumber/src/main/java/GuessNumberGame.java +++ b/GuessNumber/src/main/java/GuessNumberGame.java @@ -1,18 +1,10 @@ -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Component; - -@Component public class GuessNumberGame { - @Value("15") // Error:java: javacTask: source release 8 requires target release 1.8 - везде Java 8 стоит private int secretNumber; - @Value("3") private int attemptsCount; private GuessSource guessSource; private ResultOutput output; - @Autowired public GuessNumberGame(int secretNumber, int attemptsCount, GuessSource source, diff --git a/GuessNumber/src/main/java/KeyboardGuess.java b/GuessNumber/src/main/java/KeyboardGuess.java index f209a81..3482a5d 100644 --- a/GuessNumber/src/main/java/KeyboardGuess.java +++ b/GuessNumber/src/main/java/KeyboardGuess.java @@ -1,8 +1,5 @@ -import org.springframework.stereotype.Component; - import java.util.Scanner; -@Component public class KeyboardGuess implements GuessSource { Scanner scanner = new Scanner(System.in); @Override diff --git a/GuessNumber/src/main/java/Main.java b/GuessNumber/src/main/java/Main.java index 86a91f5..e18690a 100644 --- a/GuessNumber/src/main/java/Main.java +++ b/GuessNumber/src/main/java/Main.java @@ -1,10 +1,20 @@ import org.springframework.context.ApplicationContext; +import org.springframework.context.annotation.AnnotationConfigApplicationContext; +import org.springframework.context.annotation.Bean; import org.springframework.context.support.ClassPathXmlApplicationContext; +import org.springframework.scheduling.annotation.EnableAsync; +import org.springframework.scheduling.annotation.ProxyAsyncConfiguration; public class Main { +// авг 30, 2020 1:29:53 AM org.springframework.context.support.AbstractApplicationContext refresh +// 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 +// Exception in thread "main" 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 static void main(String[] args) { - ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); +// ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml"); + ApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfig.class); // KeyboardGuess source = new KeyboardGuess(); // ConsoleOutput output = new ConsoleOutput(); From 5745cb57f05eae11e3936c136bdd1fc299ce2932 Mon Sep 17 00:00:00 2001 From: Ievgenij_Pavlenko Date: Tue, 15 Sep 2020 19:30:03 +0200 Subject: [PATCH 4/4] guessNumber --- GuessNumber/src/main/java/ConsoleOutput.java | 3 +++ GuessNumber/src/main/java/GuessSource.java | 3 +++ GuessNumber/src/main/java/KeyboardGuess.java | 3 +++ GuessNumber/src/main/java/ResultOutput.java | 3 +++ 4 files changed, 12 insertions(+) diff --git a/GuessNumber/src/main/java/ConsoleOutput.java b/GuessNumber/src/main/java/ConsoleOutput.java index 79d3cf1..705aeca 100644 --- a/GuessNumber/src/main/java/ConsoleOutput.java +++ b/GuessNumber/src/main/java/ConsoleOutput.java @@ -1,3 +1,6 @@ +import org.springframework.stereotype.Component; + +@Component public class ConsoleOutput implements ResultOutput { @Override diff --git a/GuessNumber/src/main/java/GuessSource.java b/GuessNumber/src/main/java/GuessSource.java index bc6c35b..76814f2 100644 --- a/GuessNumber/src/main/java/GuessSource.java +++ b/GuessNumber/src/main/java/GuessSource.java @@ -1,3 +1,6 @@ +import org.springframework.stereotype.Component; + +@Component public interface GuessSource { public int guess(); } diff --git a/GuessNumber/src/main/java/KeyboardGuess.java b/GuessNumber/src/main/java/KeyboardGuess.java index 3482a5d..f209a81 100644 --- a/GuessNumber/src/main/java/KeyboardGuess.java +++ b/GuessNumber/src/main/java/KeyboardGuess.java @@ -1,5 +1,8 @@ +import org.springframework.stereotype.Component; + import java.util.Scanner; +@Component public class KeyboardGuess implements GuessSource { Scanner scanner = new Scanner(System.in); @Override diff --git a/GuessNumber/src/main/java/ResultOutput.java b/GuessNumber/src/main/java/ResultOutput.java index 4b9d0c7..ea5ed87 100644 --- a/GuessNumber/src/main/java/ResultOutput.java +++ b/GuessNumber/src/main/java/ResultOutput.java @@ -1,3 +1,6 @@ +import org.springframework.stereotype.Component; + +@Component public interface ResultOutput { public void output(String result); }