본문 바로가기
728x90
반응형

spring12

Spring , 좋은 객체 지향 프로그래밍 스프링 프레임워크 - 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타 - 웹 기술 : 스프링 MVC, 스프링 WebFlux - 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML지원 - 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링 - 테스트 : 스프링 기반 테스트 지원 - 언어 : 코틀린, 그루비 스프링 부트 - 스프링을 편리하게 사용할 수 있도록 지원 스프링의 핵심 - 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크 좋은 객체 지향 프로그래밍이란? 객체 지향 프로그래밍 - 객체 지향 프로그래밍은 컴퓨터 프로그램을 여러개의 독립된 단위, 객체들의 모임으로 파악하는 것. - 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용.. 2022. 8. 8.
@GetMapping @PostMapping 그리고 view-controller @GetMapping @PostMapping은 Spring 4.3 이후로 추가 되었다. @RequestMapping(value="/register/add", method="RequestMethod.GET") @RequestMapping(value="/register/save", method="RequestMaethod.POST") 이 코드를 @GetMapping("/register/add") @PostMapping("/register/save") 이렇게 간단하게 사용할 수 있다. @GetMapping("/register/add") @PostMapping("/register/add") url이 같으면 원래는 충돌이 나지만 method가 다르기때문에 구분이 가능하여 충돌나지 않는다. @Controller @.. 2022. 1. 2.
@ModelAttribute @ModelAttribute는 적용 대상을 Model의 속성으로 자동 추가 (Model에 자동저장)해주는 애너테이션이다. 반환 타입 또는 컨트롤러 메서드의 매개변수에 적용 가능하다. 1. 매개변수 @RequestMapping("/getYoilMVC5") //public String main(@ModelAttribute("myDate") MyDate date, Model model){// 아래와 동일 public String main(@ModelAttribute MyDate date, Model model) { char yoil = getYoil(date); model.addAttribute("myDate", date); model.addAttribute("yoil", yoil); return "yoil".. 2022. 1. 2.
@RequestParam @RequestParam은 요청의 파라미터를 연결할 매개변수에 붙이는 애너테이션이다. // 1번 @RequestMapping("/requestParam1") public String main2(@RequestParam(name="year", required=false) String year) { } // 1-1번 @RequestMapping("/requestParam1") public String main2(String year) { } 1번과 1-1번은 동일한 의미이다. @RequestParam(name="year" , required=false)는 생략가능하다. year는 파라미터 이름이고, required는 필수여부이다. false는 필수가 아님을 의미한다. http://localhost:8080/.. 2022. 1. 1.
[Error] java.lang.IllegalStateException: Failed to load ApplicationContext (spring junit test error) spring junit test 중에 발생한 에러 에러메세지 수정 전 수정 후 @ContextConfiguration~ 을 적지않아 발생한 에러였다. 추가해주니 아주 잘 된다. 2021. 4. 14.
[Spring] MyBatis 설정하기 MyBatis는 흔히 SQL 매핑(mapping) 프레임워크로 분류됩니다. JDBC 프로그래밍 구조와 MyBatis의 비교 JDBC 프로그래밍 MyBatis 직접 Connection을 맺고 마지막에 close() PerparedStatement 직접 생성 및 처리 PreparedStatement의 setXXX()등에 대한 모든 작업을 개발자가 처리 SELECT의 경우 직접 ResultSet처리 자동으로 Connection close() 가능 MyBatis 내부적으로 PreparedStatement 처리 #{prop}와 같이 속성을 지정하면 내부적으로 자동 처리 리턴 타입을 지정하는 경우 자동으로 객체 생성 및 ResultSet처리 MyBatis는 기존의 SQL을 그대로 활용할 수 있다는 장점이 있고, 진.. 2021. 4. 13.
[Java] Lombok(롬복) 라이브러리 설치하기 Lombok을 사용하면 자바 개발시 자주 사용하는 getter/setter, toString(), 생성자등을 자동으로 생성해줍니다. 그래서 약간의 코드만으로 필요한 클래스를 설계할 때 유용하다고 합니다. Lombok 다운로드 projectlombok.org/ Project Lombok projectlombok.org 1. 상단메뉴 - 다운로드를 클릭. 2. 다운로드 클릭. 3. 다운로드 된 lombok.jar 실행. 4. Specify location 을 클릭하여 필요한 IDE를 선택. 5. 해당 IDE 실행파일의 XXX.ini 파일을 선택. 6. 그럼 다음과 같이 추가가 되고, Install / Update 를 클릭하면 끝! 2021. 4. 8.
[Spring] AOP-1 AOP란 상속을 통한 방법에 한계를 극복하기 위해서 등장한 방법입니다. 핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식 입니다. Aspect : 공통기능 Advice : Aspect의 기능 자체 Joinpoint : Advice를 적용해야 되는 부분 (ex. 필드, 메서드) 스프링에서는 메서드만 해당한다. Pointcut : Joinpoint의 부분으로 실제로 Advice가 적용되는 부분 Weaving : Advice를 핵심 기능에 적용하는 행위 스프링에서 AOP를 구현할때는 proxy를 이용합니다. 예를들어 Joinpoint 시작과 끝에서 Advice를 실행할때 Advice는 중간에 끼어드는 것이 아니라 proxy를 통해서 실행됩니다. - XML 기반의 .. 2021. 4. 2.
[Spring] Java를 이용한 DI 설정 방법 2021. 4. 1.
728x90
반응형