package org.example;
import config.SpringConfig;
import models.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
int i =0;
Test test = (Test) applicationContext.getBean("test");
test.setName("TestName");
System.out.println(test.getName());
}
}
Спасибо большое, сработало. Может и тут подскажете? Если в @ComponentScan указываю пакеты более нижнего уровня (типа models, services), то они подсвечиваются красным и не доступны. Если в @ComponentScan указываю папку java (второй скрин), то теряется бин signUpServiceImpl?
package maxima.app;
import maxima.config.SpringConfig;
import maxima.models.Account;
import maxima.services.SignUpService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class MainAnnotation {
public static void main(String[] args) {
ApplicationContext applicationContext = new AnnotationConfigApplicationContext(SpringConfig.class);
SignUpService signUpService = (SignUpService) applicationContext.getBean("signUpServiceImpl");
signUpService.save(Account.builder()
.firstName("Nikolay")
.lastName("Ivanov")
.email("nick@mail.com")
.password("qwerty!@#45")
.build());
}
}
package maxima.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
@Configuration
@ComponentScan(basePackages = "maxima")
@PropertySource("classpath:application.properties")
public class SpringConfig {
}
EvilDude123, указываются пакеты (package) а не папки.
Вообще непонятно зачем такие сложности.
Если вы создаете бины через аннотацию @Bean- то это лучше делать прямо в классе, с аннотацией @Configuration. Бины, которые создаются с аннотацией @Component или @Service спринг обычно находит сам без лишних подсказок.