본문 바로가기
728x90
반응형

Programming/Spring21

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.
JSTL이란? JSTL core태그 JSTL이란 JSP표준 라이브러리(JSP Standard Tag Library)의 약어입니다. JSTL은 자주 사용될 수 있는 커스텀 태그들을 표준으로 모아놓은 태그 라이브러리입니다. JSTL 사용전 우선 core를 header에 추가해줘야 합니다. 그리고 사용할때에는 아래의 예시처럼 사용하면 됩니다. JSTL core의 태그 태그명 설명 변수명에 값을 할당 값을 출력 조건식에 해당하는 블럭과 사용될 scope설정 다른 언어의 switch와 비슷 switch문의 case에 해당 switch문의 default에 해당 다른언어의 loop문 items 속성에 배열을 할당할 수 있음 참고, daesuni.github.io/jstl/ JSTL의 기본 개념과 사용방법 정리 1. JSTL이란? daesuni.gith.. 2021. 4. 19.
[Spring] 스프링 MVC - Model (데이터 전달자) Model객체는 컨트롤러에서 생성된 데이터를 담아서 JSP에 전달하는 역할을 하는 존재입니다. 뷰(View)로 전달해야 하는 데이터를 담아서 보낼 수 있습니다. 스프링 MVC에서 Model을 이용한 데이터 전달 예시. public String home(Model model) { model.addAttribute("serverTime", new java.util.Date()); return "home"; } 메서드의 파라미터를 Model 타입으로 선언하게 되면 자동으로 스프링 MVC에서 Model타입의 객체를 만들어 줍니다. Model을 사용해야 하는 경우는 주로 Controller에 전달된 데이터를 이용해서 추가적인 데이터를 가져와야 하는 상황입니다. 예시) 리스트 페이지 번호를 파라미터로 전달받고, 실.. 2021. 4. 14.
[Spring] xml 매퍼 MyBatis를 이용시 SQL을 처리할 때 어노테이션을 이용하는 방식이 편리하지만 SQL이 복잡하거나 길어지는 경우엔 XML을 이용하는 것을 더 선호합니다. XML을 작성해서 사용할 때에는 XML파일의 위치와 namespace속성이 중요합니다. 태그의 id 속성 값은 메서드의 이름과 동일해야 합니다. 태그의 경우 resultType 속성을 가지는데 이 값은 인터페이스에 선언된 메서드의 리턴 타입과 동일하게 작성합니다. 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.
[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.
728x90
반응형