SpringApplication.run() без загрузкиJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 SpringApplication.run() без загрузки

Сообщение Гость »


Я новичок в Spring. В настоящее время я пытаюсь запустить очень простой проект, чтобы начать изучать Spring и понимать IoC и внедрение зависимостей. Сначала я создал простой проект Spring Boot, и он работал, но теперь я пытаюсь сделать это без загрузки, потому что хочу лучше понять, что происходит. Я не понимаю, как это сделать (полный урок ниже):

SpringApplication.run(TestSpringApplication.class, args);

Я пытался это сделать:

Приложение TestSpringApplication = новое TestSpringApplication(); app.run(аргументы); Но внутри метода run() @Autowired messageRepository имеет значение null. Я предполагаю, что это потому, что я создал свое TestSpringApplication, используя new вместо applicationContext.getBean()? Но как я могу получить доступ/получить контекст приложения в моем статическом основном методе?

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

Вот что я пытаюсь сделать, но не получается:

пакет com.cypherf; импортировать com.cypherf.model.Message; импортировать com.cypherf.repository.MessageRepository; импортировать com.cypherf.service.MessageService; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.context.ApplicationContext; импортировать org.springframework.context.annotation.ComponentScan; импортировать org.springframework.context.annotation.Configuration; @Конфигурация @ComponentScan общественный класс TestSpringApplication { @Autowired частный контекст ApplicationContext; @Autowired частный репозиторий сообщений messageRepository; @Autowired частная служба сообщений messageService; public static void main(String[] args) { Приложение TestSpringApplication = новое TestSpringApplication(); app.run(аргументы); } public void run(String... args) { messageRepository.save(new Message("Сообщение первое"); messageRepository.save(new Message("Сообщение второе"); messageRepository.save(new Message("Сообщение второе"); messageService.printAllMessages(); } } Вот мой предыдущий класс с Spring Boot, который работает:
пакет com.cypherf; импортировать com.cypherf.model.Message; импортировать com.cypherf.repository.MessageRepository; импортировать com.cypherf.service.MessageService; импортировать org.springframework.beans.factory.annotation.Autowired; импортировать org.springframework.boot.CommandLineRunner; импортировать org.springframework.boot.SpringApplication; импортировать org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication публичный класс TestSpringApplication реализует CommandLineRunner { @Autowired частный репозиторий сообщений messageRepository; @Autowired частная служба сообщений messageService; public static void main(String[] args) { SpringApplication.run(TestSpringApplication.class, args); } public void run(String... args) выдает исключение { messageRepository.save(new Message("Сообщение первое"); messageRepository.save(new Message("Сообщение второе"); messageRepository.save(new Message("Сообщение второе"); messageService.printAllMessages(); } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»