본문 바로가기
  • 일하면서 배운 내용 끄적이는 블로그

Spring5

@Qualifier Bean을 만들어 등록할때 같은 타입의 Bean이 없다면 사용 할 필요가 없지만 같은 타입의 Bean이 존재할 경우 이름으로 구분하기 위해 사용하는 어노테이션 @Service("testName") public class testService { @Autowired public testSomething() { super(); } } 이런식으로 이름을 지정한 다음 @Autowired public TestControllerImpl(@Qualifier("testName") testService test) { super(); } 호출할때 이름으로 호출 2024. 3. 13.
@Configuration, @PropertySource 어노테이션 @Configuration @PropertySource({"classpath:/properties_파일경로", "classpath:/properties_파일경로"}) public class TestConfig { } @Configuration 스프링에서 스프링 빈을 관리하는 설정 방식에는 XML과 JavaConfig 두가지 방식이 존재 설정파일을 만들기 위한 어노테이션 or Bean을 등록하기 위한 어노테이션 선언하게 되면 해당 자바클래스는 스프링 설정을 담당하는 클래스가 된다. 스프링 컨테이너에서 Bean을 관리할 수 있게 된다. Bean을 등록할 때 싱글톤이 되도록 보장한다. (@Bean 태그는 빈 등록은 되는데 싱글톤 보장이 안된다고 함) @PropertySource 스프링 프로젝트를 하다보면 jd.. 2024. 3. 13.
Model & ModelAttribute & RequestParam & PathVariable Model 백엔드 - > 프론트로 데이터를 전달할때 사용한다. @RequestMapping("/main") public String main(Model model) { System.out.println("메인페이지로"); ObjectMapper objectMapper = new ObjectMapper(); int ranNum = 1321232131; List objectlist = promotionservice.selectAllPromotion(); String list = null; try { list = objectMapper.writeValueAsString(objectlist); } catch (JsonProcessingException e) { e.printStackTrace(); } model.. 2024. 3. 7.
DTO, DAO, ConnectionPool, DataSource DTO DTO란 Data Transfer Object의 약자 계층간 데이터 교환을 위한 자바 빈즈. 여기서 계층이란 컨트롤러의 뷰, 비지니스 계층, 퍼시스턴스 계층을 의미 일반적으로 DTO는 로직을 가지고 있지 않고, 순수한 데이터 객체이다. DAO DAO란 Data Access Object의 약자 데이터를 조회하거나 조작하는 기능을 전담하는 객체 보통 데이터베이스를 조작하는 기능을 전담하는 목적으로 생성 ConnectionPool DB연결은 비용이 많이 든다. 커넥션 풀은 미리 커넥션을 여러 개 맺은 다음 필요할때 빌려주고 반납한다. DataSource 커넥션 풀을 관리하는 목적으로 사용되는 객체 커넥션을 얻어오고, 반납하는 등의 작업을 수행 2024. 2. 28.
Spring Framework 기본개념 Spring Framework란? 엔터프라이즈 급 어플리케이션을 구축할 수 있는 가벼운 솔루션이자, 원스-스탑-숍(One-Stop-Shop) *원스-스탑-숍: 모든과정을 한꺼번에 해결하는 상점 원하는 부분만 가져다 사용할 수 있도록 모듈화가 잘되어 있다. IoC 컨테이너이다. 선언적 트랜잭션을 관리할 수 있다. 완전한 기능을 갖춘 MVC Framework 이다. AOP 지원 스프링은 도메인 논리 코드와 쉽게 분리될 수 있는 구조를 가지고 있다. 컨테이너란? 컨테이너는 인스턴스의 생명주기를 관리한다. 생성된 인스턴스들에게 추가적인 기능을 제공한다. IoC란? IoC란 Inversion of Control의 약어이다. 제어의 역전 개발자는 프로그램의 흐름을 제어하는 코드를 작성한다. 그런데 이 흐름의 제어를.. 2024. 2. 28.