일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- JAVA11
- 자바 thread 실행 순서 제어
- 카데인 알고리즘
- 수학
- array
- R
- input
- 자바입력
- 사칙연산
- heroku
- SpringBoot 2
- Kadane's Algorithm
- Easy
- scanner
- hash table
- 자바 스레드 실행 순서 제어
- Today
- Total
목록SpringFramework (14)
DeFacto-Standard IT
Spring Boot 2.4 기준 - application.properties wait.for-time=1s - MainApplication @SpringBootApplication @ConfigurationPropertiesScan // ConfigurationProperties를 스캔하도록 설정. Since 2.2.0 public class MainApplication { public static void main(String[] args) { SpringApplication.run(MainApplication.class, args); } } - WaitProperties properties를 읽어서 사용하는 클래스 @ConfigurationProperties("wait") @ConstructorBi..
ObjectMapper Class의 readValue()를 사용하면 String Type의 값을 Object Type으로 변환할 수 있다. 단, 그 사용법이 조금 까다롭긴 하지만, 코드를 봤을 때 그 의도가 상당히 명확하다. public class Main { // throws Exceptions는 제외 public static void main(String[] args) { String personString = "{\"age\":3, \"grade\":1, \"name\":\"ycp\", \"subName\":\"YCP\"}"; ObjectMapper mapper = new ObjectMapper(); Person p = mapper.readValue(personString.getBytes("UTF-..
@RequestBody는, Client에서 Server로 객체의 내용을 전송할 때, 이를 객체로 DataBinding하여 사용할 때 용이하다. 네트워크를 통해서 전송하려면 Object는 무조건 String으로 전송해야 하는데, 다시 받는 곳에서는 String을 Object로 바로 받아서 사용한다면 굉장히 편할 것이다. Client에서는 JavaScript Library인 JQuery의 $.ajax()에서 JSON.stringify()함수를 사용하여 Object를 String으로 변환시킨 후 이를 인자로 태워서 Request한다. @RequestBody는 인자 앞에 붙여서 사용할 수 있다. 이때, JSON의 키 값이 받으려는 Object의 필드명과 동일해야 한다. @RestController @Reques..
JSONObject jObject = new JSONObject();JSONArray jArray = new JSONArray(); JSON 포맷의 객체를 직접 조합할 수 있어 편리하다. 다만, 한 개의 객체만 있더라도 이 객체에 대한 키값이 존재해야 한다. 객체 내에 있는 필드에 대한 키값이 아닌, 객체 자체에 대한 키값을 의미한다. 길이가 길어진다면 점점 복잡해지는 경향이 있다. 한 객체의 정보만을 넘기는 것이 아니라, 여기에 부가적인 정보까지 포함하여 보내야 하는 경우에 사용했다. 부가적인 정보를 포함시키기 위해, 이를 위한 Class를 생성하는 것도 좀 아닌 것 같아서, Response에 객체 정보 뿐만 아니라, 추가적인 정보를 첨가하는 클래스들을 만들고, 이 내에서는 net.sf.json 라이브..
jackson-databind 라이브러리는 REST API를 구현하는데 자주 이용된다. 그 외에 json포맷으로 바꾸는데 여러가지 라이브러리가 쓰인다. gson, json, jackson, net.sf 등의 라이브러리가 있다. 이 라이브러리에는 ObjectMapper라는 클래스가 있는데, Object to JSON / JSON to Object를 모두 지원한다. 여기서는 Object Serialization에 사용되는 writeValueAsString()을 알아볼 것이다. ObjectMapper# writeValueAsString()은 인자로 객체를 넘겨주기만 하면 해당 객체를 JSON 포맷을 String Type으로 변환하여 리턴한다. - ObjectMapper# writeValueAsString(Ob..
1. @ResponseBodyClient에서@RestController Annotation이 붙은 Controller Class에 Ajax Call을 하는 경우이다. @RestController에 포함된 Annotation인 @ResponseBody를 사용하여, HTTP Body에 Object가 JSON 포맷으로 들어간다. @RestController는 Class단에서 매핑한다. 즉, 해당 Annotation이 붙은 모든 메서드는 @ResponseBody Annotation이 붙은 효과를 볼 수 있다. Client는 JavaScript의 Framework인 JQuery의 $.ajax() 등을 통해 Response의 Content-Type을 application/JSON으로 명시할 경우, success(d..
JSON to Object 1. 깊이1의 JSON 객체 - JSPfunction sendAjax(content) { var username = $("#username").val(); var datas = { "boardno" : ${boardVO.boardno}, "username" : username, "content" : content }; var jsonData = JSON.stringify(datas); $.ajax({ method : 'POST', url : '/rest/reply/', data : jsonData, contentType: "application/json", success : function(){ alert("AJAX성공"); }, error : function(){ alert(..
Spring Form Data to Object - Controller ( GET Method )@RequestMapping(value="/register", Method=RequestMethod.GET) public String registerUserGet(Model model) { // 반드시 객체를 생성 후 Model객체를 사용하여 View에 넘겨야 함, 안만들면 Exception발생 User user = new User(); model.addAttribute("user", user); return "jsp"; }반드시 객체를 하나 생성하여, Model을 통해 View로 넘겨야 한다. - Spring Form (jsp.jsp) modelAttribute속성의 값은 model.addAttribute(..
client에서 server로 request할 시에 여러가지 데이터를 담아서 보내는 경우가 많은데,controller에서는 이 담겨온 정보를 plain text로 일일이 받아서 사용하기 보다는 객체로 DataBinding을 하여 바로 쓰는 것이 코드가 간결하고 사용하기도 편하다.여러가지 경우에 대해서 DataBinding을 생각해 볼 수 있다. HTML Form Data to Object HTML Form Data를 전송했을 때, Controller에서 Object로 바로 받아서 사용할 수 있다. - HTML Form ... ... HTML form에서 값을 입력할 경우에는 태그의 name 속성의 값이 바인딩 하려는 객체에 대한 클래스의 변수명과 같이 "name", "email", "text"와 매치가 ..
Spring Legacy Project - MVC Project 생성 시 기본적으로 세팅해야 할 사항이 몇가지 있다. 1. pom.xml - GroupId, ArtifactId 수정 Project를 처음 만들 때의 과정에서 top-level package를 설정하는 부분에서 GroupId와 ArtifactId를 입력해야한다. GroupId는 규모가 큰 것부터 작은 것의 순서로 기술한다. 예를들어 url이 aaa.co.kr이라면 GroupId에는 kr.co.aaa라고 기술한다. 여기서 kr.co.aaa는 GroupId에 해당하고, ArtifactId는 프로젝트의 이름에 해당한다. 따라서 ArtifactId에 프로젝트 명을 적어줘야 한다. - Java/Spring Version Java버전의 경우 1.6, ..