application.properties파일내 프로퍼티 이름
안녕하세요.
다시 스프링부트의 자동 구성으로 전환하는 강의에서
application.properties에 server.~ 과 data.~ 로 정의했던 것들을 아래 코드와 같이 스프링의 자동구성에서 사용하는 프로터피 이름으로 변경하라고 하셨습니다.
spring.servlet.context-path=/app
spring.servlet.port=9090
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:mem:
spring.datasource.username=sa
spring.datasource.password=근데 위와같이 변경하지 않아도 아래 자동주입 및 @PostConstruct가 문제없이 동작되듯 실행이 잘 됩니다..
@SpringBootApplication
public class HellobootApplication {
JdbcTemplate jdbcTemplate;
public HellobootApplication(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
@PostConstruct
void init() {
jdbcTemplate.execute("create table if not exists hello(name varchar(50) primary key, count int)");
}
public static void main(String[] args) {
SpringApplication.run(HellobootApplication.class, args);
}직접만든 자동구성클래스를 삭제했으니 datasource나 JdbcTemplate또한 spring의 자동구성이 필요할텐데, 실행로그를 보면 기존 datasource정보를 읽어서 동작하더라구요. 왜 그런걸까요?
Answer 1
0
스프링 부트의 DataSource 자동 구성 안에 h2 라이브러리가 있고(mysql 라이브러리는 없어야 합니다), 프로퍼티 파일에 명시적인 설정이 없는 경우 h2 메모리 DB를 sa 유저로 설정해주는 디폴트 값을 이용한 자동 구성이 동작하도록 되어있네요.
이게 스프링 부트 버전 언제부터 적용된 방식인지는 잘 모르겠네요. MySQL 라이브러리로 바꾸면 설정을 안 넣으면 에러가 날 겁니다.
0
감사합니다. 찾아보니 DataSourceProperties클래스의 initializeDataSourceBuilder메소드가 해주는것 같네요!! 근데 InitializingBean구현메소드에서도 호출안하는 이 메소드를 어디서 어떻게 호출해주는지는 모르겠긴한데... 관련 내용이 들어있는 것 확인했습니다ㅠㅜ 감사합니다.
11강에서 cmd에서 spring shell에 $ init 하면 Fail 메세지
0
73
2
TestRestTemplate 을 통해 테스트 실행시 웹 요청 정보가 콘솔에 표시되지 않습니다.
0
82
1
섹션7. 자동구성 정보파일분리 강의 질문(@MyAutoConfiguration 붙힌 이유)
0
200
2
WebApplicationContext를 DispatcherServlet에 this로 넘기는 것
0
278
2
인프라 빈 구성 정보의 분리에서 EnableMyAutoConfiguration 질문드립니다.
0
209
2
질문드립니다.
0
232
2
spring boot 3.3.7로 학습중입니다.
0
369
2
Serverproperties 객체 생성 후 @Impor 어노테이션 사용 이유 용도
0
162
2
spring start io 에서 이제더이상 2.x버전은 지원하지 않는 것 같습니다.
1
294
2
Springboot 3.2 이상에서 파라미터 추론관련
0
913
4
binding error
0
220
3
Arrays.copyOf 메서드의 타입 세이프
1
155
2
MyOnClassCondition에 있는 matches method의 Invoke 횟수
1
231
3
인용구의 출처가 궁금합니다.
0
259
1
프로퍼티 빈의 후처리기 도입 AnnotationUtils의 사용
0
235
2
SimpleCacheConfiguration과 빈 등록
0
168
2
MyAutoConfigImportSelector 에서 생성자로 ClassLoader를 주입받을 수 있는 점
0
241
1
IntelliJ project jenerator spring initailizr
0
150
1
강의 자료 레퍼지토리에 업로드
0
215
1
강의자료
0
385
1
Hikari 라이브러리가 없으면 오류가 나는거 아닌가요
0
311
2
Tomcat 포트 프로퍼티 미설정시 랜덤 포트 설정 문의
0
467
5
@Import 로 Bean을 등록해야하는 기준이 뭔지 궁금합니다.
0
333
2
강의 공부방법
0
279
1

