Programming Language/Spring
-
[Spring] @Bean vs @ComponentProgramming Language/Spring 2022. 9. 28. 19:58
@Bean과 @Component 차이 안녕하세요. 이번 시간에는 빈과 컴포넌트의 차이에 대해 알아보겠습니다. 먼저 스프링은 개발의 제어권이 스프링 컨테이너(IoC 컨테이너)에 있습니다. 그래서 이를 IoC (Inversion Of Control), 제어의 역전이라고 합니다. 스프링이 개발자 대신 객체를 제어하기 위해 객체들이 빈(Bean)으로 등록되어 있어야 합니다. 과거에는 객체를 빈으로 등록하기 위해 XML로 지정했어야 하는데 요즘은 애노테이션으로 간단하게 등록할 수 있습니다. @Bean @Bean은 메서드 레벨에서 선언하며, 반환되는 객체(인스턴스)를 개발자가 수동으로 빈으로 등록하는 애노테이션 입니다. @Configuration public class AppConfig { @Bean public ..
-
[Spring] 스프링 빈(Bean)Programming Language/Spring 2022. 5. 31. 13:40
빈(Bean) Spring IoC 컨테이너가 관리하는 자바 객체 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아님 ApplicationContext.getBean()으로 얻어질 수 있는 객체는 빈 즉 Spring에서 빈은 ApplicationContext가 알고 있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고 있는 객체를 의미 어떻게 Spring IoC 컨테이너에 빈을 등록할까? 빈을 만드는 방법은 다양하지만 기본적으로 2가지 방법이 있음 Component Scanning 빈 설정 파일에 직접 빈을 등록 Component Scan @ComponentScan 애노테이션과 @Component 애노테이션을 사용해서 빈을 등록핟록 하는 방법 @ComponentScan 애노..
-
[Spring] 스프링 주요 어노테이션 정리Programming Language/Spring 2021. 9. 13. 01:41
@RestController 컨트롤러를 JSON을 반환하는 컨트롤러로 만들어줍니다.' @GetMapping HTTP Method인 Get의 요청을 받을 수 있는 API를 만들어 줍니다. 예전에는 @RequestMapping(method = RequestMethod.GET)으로 사용되었습니다. @RunWith(SpringRunner.class) 테스트를 진행할 때 JUnit에 내장된 실행자 외에 다른 실행자를 실행시킵니다. 여기서는 SpringRunner라는 스프링 실행자를 사용합니다. 즉 스프링부트 테스트와 JUnit 사이에 연결자 역할을 합니다. @WebMvcTest 여러 스프링 테스트 어노테이션 중, Web(Spring MVC)에 집중할 수 있는 어노테이션 입니다. @Autowired 스프링이..
-
[Lombok] STS에 lombok 적용하기Programming Language/Spring 2018. 11. 19. 13:54
[Lombok] STS에 lombok 적용하기 ※ lombok 자바 개발자들에게 Getter/Setter 메소드를 생성하거나 toString() 혹은 생성자 함수를 생성하는 등의 작업은 번거롭고 귀찮은 작업이다. 다만, 이러한 작업이 너무나 반복적으로 필요하기 때문에 개발의 생산성을 높이고 싶다면 Lombok 을 이용해 단순 반복 작업을 자동화함으로써 개발 시간을 단축할 수 있다. | Lombok 이란 Lombok은 자바에서 @Getter, @Setter 같은 annotation 기반으로 기존 DTO, VO, Domain Class 등을 작성할 때, 멤버 변수에 대한 Getter/Setter Method, Equals(), hashCode(), ToString()과 멤버 변수에 값을 설정하는 생성자 등등..
-
Spring-MyBatis Connection 설정Programming Language/Spring 2018. 11. 1. 13:19
[Spring-MyBatis Connection 설정] ※ Spring 과 MyBatis 를 연동하고 테스트 코드를 작성하여 연동 성공 여부를 확인한다. ※ Mybatis 의 장점 - 간결한 코드의 처리- SQL 문의 분리운영- Spring과의 연동으로 자동화된 처리- 동적 SQL을 이용한 제어 기능 1. pom.xml 에 Mybatis 관련 dependency 추가하기 - Mybatis, MyBatis-Spring, spring-jdbc, spring-test 추가 2. root-context.xml 파일 수정 - 스프링과 관련된 설정 중 웹 자원과 관련되지 않은 모든 자원의 설정을 위해서 존재하는 파일- 웹과 관련된 설정은 servlet-context.xml 파일에서 관리 3. DataSource 테..
-
Spring - MySQL 연동 설정Programming Language/Spring 2018. 11. 1. 09:42
[Spring - MySQL 연동 설정 ] ※ Spring 과 MySQL 을 연동하고 테스트 코드를 작성해서 연결 성공 여부를 테스트한다. 1. 사전 설정 사항 1) MySQL 설치 (MySQL-8.0.13)- http://dev.mysql.com/downloads/ 에서 MySQL 설치 2) MySQL Workbench 설치 3) 새로운 계정 생성 및 스키마 추가 4) 사용자의 기본 스키마 설정 2. MySQL 연결 테스트 1) maven 프로젝트에서 pom.xml 에 MySQL Connector/J 추가 2) JDK 버전 변경과 jUnit 의 버전 변경 - try - with 구문은 JDK 1.7 버전 이후에 지원되기 때문에 현재 프로젝트의 JDK 버전을 1.7 이상으로 변경한다. - jUnit 의 ..
-
STS(Spring Tool Suite) 유용한 단축키Programming Language/Spring 2018. 4. 24. 03:37
STS (Spring Tool Suite) 유용한 단축키 단축키를 활용하면 개발 퍼포먼스를 향상시킬 수 있다. 단축키 의미 Ctrl + F 기본 검색 Ctrl + K, Ctrl + Shift + K 블록한 문자열과 동일한 문자열 검색 Ctrl + Shift + L 프로젝트 전체 문자열 검색 Ctrl + Shift + R 파일 이름 검색 Ctrl + Space 컨텐트 어시스트. 기본 자동 완성 기능으로 두번 입력시 빠른 Method 생성 가능 Ctrl + Shift + /, Ctrl + Shift + \. 블록 주석 Ctrl + Shift + O 임포트 추가 및 정리 Ctrl + D 한 줄 삭제 Ctrl + Alt + , Ctrl + Alt + 한 줄 복제
-
스프링 로그 레벨 (Level)Programming Language/Spring 2018. 3. 14. 20:05
스프링 로그 레벨 (Level) - 로깅(Logging) - 로그(Log)란 프로그램 개발이나 운영 시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트이다. - 지금까지는 System.out.println(); 문을 사용하여 로그를 기록했으나 이보다 로그를 기록하는 클래스를 만들어 사용하는 것이 더 나은 방법이다. - Log4j2 는 다음과 같은 로그 레벨을 가진다. - TRACE > DEBUG > INFO > WARN > ERROR > FATAL - INFO로 셋팅하면, INFO, WARN, ERROR, FATAL은 기록된다. FATAL : 아주 심각한 에러가 발생한 상태를 나타낸다. ERROR : 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다. WARN : 프로그램의 실행..