일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 요리
- Gradle
- it
- jsp
- MySQL
- redis
- 맛집
- db
- javascript
- JVM
- ReactJS
- Spring
- Spring Boot
- Design Patterns
- Web Server
- elasticsearch
- Oracle
- Git
- devops
- linux
- ubuntu
- Spring Batch
- laravel
- java
- php
- jenkins
- AWS
- tool
- springboot
- IntelliJ
- Today
- Total
목록Java & Kotlin (250)
아무거나
[spring] Form 데이터 1. HttpServletRequest 클래스 * HttpServletRequest란 사용자가 어떤 요청을할때 그럼 dispatcher가 controller로 보내주는데 그 때 사용자가 요청한 데이터를 받는 객체이다. [ex] public String test(HttpServletRequest httpServletRequest) { .... } 만약 http://localhost:8080/test?id=bong&pw=1234 로 요청하게 되면 id랑 pw값이 httpServletRequest에 담아진다. 2. @RequestParam 어노테이션 * 위의 1번 방법과 동일하며 해당 방법은 어노테이션을 사용한 방법이다. [ex] public String test(@Reques..
[spring] 컨트롤러 뷰에 데이터 전달 ## 뷰에 데이터 전달 컨트롤러에서 로직 수행 후 뷰페이지를 반환 한다. 이때 뷰에서 사용하게 될 데이터를 객체로 전달 할 수 있다. 1. Model 클래스를 이용한 데이터 전달 [ex] @RequestMapping("/board/content") public String content(Model model) { // Model 객체를 파라미터로 받음 model.addAttribute("id", 30); // Model 객체에 데이터를 담음 return "board/content"; // 컨트롤러에서 전달 받은 Model객체를 view로 리턴 그러면 스프링컨테이너에서 알아서 데이터로 변환해준다. } 2. ModelAndView 클래스를 이용하여 데이터 전달 * ..
[spring] 스프링 MVC 기초 * 스프링 MVC 전체적인동작 - client에서 요청이 들어오면 무조건 먼저 받는곳은 DispatcherServlet이다. DispatcherServlet에서 ( HandlerMapping, View(JSP), ViewResolver, HandlerAdapter, Controller 로 작업을 보낸다 ) 실제로 공수가 많이 들어가는 부분은 controller, view쯤이 될 것이다. ex) [client] -> [DispatcherServlet(HandlerMapping, View(JSP), ViewResolver, HandlerAdapter)] [Controller] 1. 프로젝트 생성 New -> Spring Legacy Project -> spring MVC ..
[spring] AOP(Aspect Oriented Programming) - 2 1. @Aspect 어노테이션기반의 AOP구현 작업순서 (1) 의존 설정(pom.xml) [pom.xml] ......... org.aspectj aspectjweaver 1.7.4 (2) @Aspect 어노테이션을 이용한 Aspect클래스 제작 [LogAop.java] import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.an..
[spring] AOP(Aspect Oriented Programming) - 1 개발시에 공통적인 기능이 많이 발생한단. 이러한 것들을 모든 모듈에 적용하기 위한 방법으로 상속을 통한 방법이 있다. 하지만 상속에는 몇가지 문제가 있다. JAVA에는 다중 상속이 불가하며 다양한 모듈에 상속기법을 통한 공통 기능 부여는 한계가 있다. 그리고, 기능 구현부분에 핵심 기능 코드와 공통 기능 코드가 섞여 있어 효율성이 떨어진다. ( 즉, 코드가 core기능이나 필요기능등. 다 짬뽕되어서 코드의 양이 많아지고 유지보수가 어려워진다. ) 그래서 AOP가 등장했다. AOP는 핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식이다. [ex - 밥만들기] 물을 받고 -> 쌀을..
[spring] 외부 파일을 이용한 설정 1. Environment 객체 - Environment객체를 이용해서 스프링 빈 설정을 한다. Context -> ( ctx.getEnvironment() ) -> Environment -> ( env.getPropertySources() ) -> PropertySources PropertySources : 프로퍼티 추가 및 추출 추가 : propertySources.addLast() 추출 : env.getProperty() [MainClas.java] public class MainClass { public static void main(String[] args) { ConfigurableApplicationContext ctx = new GenericXmlA..
[spring] 생명주기(life cycle)와 범위 1. 스프링 컨테이너 생명 주기 [ex] public class MainClass { public static void main(String[] args) { // 스프링 컨테이너 생성 GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); // 스프링 컨테이너 설정 ctx.load("classpath:applicationCTX.xml"); ctx.refresh(); // load메서드를 사용할경우 refresh메서드를 사용하여 반드시 설정이 다 되도록 하여야 한다. // 스프링 컨테이너 사용 Student student = ctx.getBean("student", Student...
[spring] DI 설정 방법 (1) xml파일을 이용한 DI 설정 방법 [Student.java] public class Student { private String name; private int age; private ArrayList hobbys; private double height; private double weight; // 필드 5개중에 3개(name, age, hobbys)를 초기화해주고 2개를 setter를 이용하고 있다. public Student(String name, int age, ArrayList hobbys) { this.name = name; this.age = age; this.hobbys = hobbys; } public void setName(String name..
[spring] DI(Dependency Injection) 활용 1. 의존관계 DI는 Dependency Injection의 약자로 -> "의존주입" 이라 한다. # 생성자를 통한 주입 [Student.java] public class Student { private String name; .... public Student(String name, ....) { this.name = name; ...... } } [applicationCTX.xml] // Setter을 이용할 때 // 생성자를 이용할 때 .... 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B0%95%EC%A2%8C/das..
[spring] DI(Dependency Injection) - 2 1. 스프링 컨테이너의 이해 package com.javalec.ex; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class MainClass { public static void main(String[] args) { String configLocation = "classpath:applicationCTX.xml"; AbstractApplicationContext ctx = new GenericXmlApplica..