Back-End

    포트 사용 중일 때

    cmd 관리자 권한으로 실행 netstat -a -o > network status 인거 같다. -all 인거 같고 -o 는 pid 번호를 알기위해 쓰는 듯. 그 후 포트 번호를 찾고 pid 번호로 죽이면된다. taskkill /f /pid PID번호 로 죽이면 된다.

    스프링 빈과 의존관계

    오늘은 스프링 빈과 의존관계에 대해서 알아보도록 하겠습니다. 키워드 - 스프링 빈, 스프링 컨테이너, @Controller, @Service, @Repository, @Autowired, DI, 의존관계 주입, @Controller, @Service, @Repository 어노테이션으로 스프링이 동작할 때 스프링컨테이너에 객체를 생성한다. @Autowired를 통해 스프링컨테이너에 생성된 @Controller, @Service, @Repository 의 객체를 연결해주는데 사용한다. @Controller public class MemberController { private final MemberService mebmerService; @Autowired public MemberController(Mem..

    == 와 equals 차이

    JAVA에서는 만약 으로 만들게 되면 num1 == num2 라고 했을 때 true 이다. 그 이유는 자바에서 int num1 = 1 으로 변수를 선언하면 이런 메모리에 1 이런 식으로 한 곳에 1이라는 숫자가 들어가게 된다. 근데 num1 = 1 이라는 값을 가르키는 상태에서 num2 = 1이라 선언하면 1 1 이렇게 1이 두개 만들어지는것이 아니고 1 num2는 이미 만들어진 1을 가르키게 된다 이때 num1 == num2 를 하면 같은 곳을 가르키고 있다. 해서 true가 된다. 자바에서는 이런식으로 만들어도 같은 문자열 "kim" 이 된다. 그렇지만 new String(""); 을 통해 객체 문자열을 만들게 되면 "kim" -> name1이 가르키는 "kim" -> name2가 가르키는 새로운 영..

    Spring controller, domain, service, repository V1

    Spring 에서의 웹개발은 MVC 패턴으로 개발이 된다. Model, View, Controller 로 구성되어있다. 그중에서도 각각의 어노테이션을 취해주어야 하는데 보통 패키지로 구분을 한다. 이런식의 구조를 가지고 있다. 그럼 각각 무슨 기능을 하는지 알아보자. controller - 클라이언트에서 전달되는 모든 데이터가 거쳐가는 곳이다. 이곳을 통해 맵핑이 되기도 하며 데이터를 주고 받는 기능을 처리하는 곳이다. @Controller 어노테이션으로 사용한다. domain - 하나의 객체 DTO 라고 할 수 있다. 클래스를 만들고 이 객체를 담기위한 그릇으로 사용된다. Member 라는 클래스가 있고 이 클래스는 회원객체이다. 예를들어 요구사항이 구분을 위한 식별자 id 값과 이름인 name이고, ..

    Optional

    java 8 Optional Optional (Java Platform SE 8 ) A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value. Additional methods that depend on the presence or absence of a contained value are provided, such as orEl docs.oracle.com Optional을 사용하기 위해서는 선언해주어야 합니다. empty() empty() 메소드는 일반적으로 사용되는 비어있는 Optional ..

    이클립스에서 스프링 mvc 프로젝트 폼 데이터 값 검증

    이번에는 유효성 검사에 대해 알아보도록 하겠다. 일단 Validator 을 이용하도록 하겠다. 검증 결과를 받아오기 위한 BindingResult 객체를 받아온다. MemberVlidator 이라는 클래스를 만들기 위해서 Validator 을 상속한다. 그러면 MemberValidator 의 빨간줄이 생기는데 add method를 해주면 이렇게 두개의 메소드가 자동으로 만들어진다. 오버라이드를 하여 메소드를 내가 필요한 검증을 하기위하도록 바꿔준다. 위에 name이 null이거나 비어있으면 컨트롤러로 다시 가서 에러가 있으니 hello로 돌아오게 된다. 돌아왔다. ValidationUtils를 활용하는 방법도 있다. @Valid와 @InitBinder를 활용한 검증을 해보겠다. 이건 스프링에서 제공되는 ..

    이클립스 get, post, @ModelAttribut, redirect 사용법

    일단 hello 로 접속해보자 hello의 폼이다 액션은 hello2로 가지게 되고 get 과 post 방식이 있는데, get으로 보내면 받는것도 get으로 받아야하고 post로 보내면 post로 받아야한다. post로 보내 보도록 하겠다. 액션이 취해지면 이 컨트롤러로 와서 액션에 해당하는 매핑 값을 찾고 post인 것을 볼 수 있다. 데이터를 받아 올때는 member.name 식으로 받아오면 된다. hello 폼이다. 전송을 누르면 hello2 로 이렇게 데이터가 전송이 된다. @ModelAttribute 를 알아보겠다. 커맨드를 바꾸는 것인데 member.name 이라고 했던것을 원하는 것으로 바꿔주는 것이다. member을 abc로 바꾼것이다. 그러면 이렇게 데이터를 불러 올 때에도 abc로 불러..

    이클립스 form 데이터처리

    HttpServletRequest 사용방법이다. view에서 데이터를 출력하는 방법이다. http에서 사용가능한 get방법이다. 결과이다. @RequestParam 어노테이션을 활용한 데이터 처리방법이다. HttpServletReuqeust 에선 데이터를 넣지 않아도 페이지가 동작되는 반면에 @RequestParam은 데이터가 없으면 동작하지않는다. 그렇기엔 애초에 필요한 데이터를 객체로 받는방법이다. Member 타입으로 받겠다. Member라는 클래스를 만든다. souce를 누르고 getter and setter를 누른다. 그러고 체크를 하고 제너레이터를 누르면 get set이 자동으로 생성된다. 그러고나서 view 에서 처리방법이다. @PathVariable 을 사용하여 @RequestMapping..