Java/Spring
-
Spring #8Java/Spring 2023. 3. 27. 09:35
pring mvc구조가 가지는 특징 web.xml root-context.xml servlet-context.xml @Annotation @DateTimeFormat(pattern="yyyy-MM-dd") 파라미터에 객체를 써주면 인스턴스를 자동으로 생성해준다 @GetMapping("ex03") //파라미터에 객체를 써주면 인스턴스를 자동으로 생성해준다 public void ex03(TodoDTO dto, HttpServletRequest req, Model model){ log.info(dto); log.info(req); log.info(req.getParameter("dueDate")); model.addAttribute("serverTime", new Date());//이름 ,값 쌍으로 전달 lo..
-
Spring #7Java/Spring 2023. 3. 24. 09:05
AspectJ Annotation execution: 메소드 실행 결합점( join points)과 일치시키는데 사용된다. within: 특정 타입에 속하는 결합점을 정의한다. this: 빈 참조가 주어진 타입의 인스턴스를 갖는 결합점을 정의한다. target: 대상 객체가 주어진 타입을 갖는 결합점을 정의한다. args: 인자가 주어진 타입의 인스턴스인 결합점을 정의한다. @target: 수행중인 객체의 클래스가 주어진 타입의 어노테이션을 갖는 결합점을 정의한다. @args: 전달된 인자의 런타입 타입이 주어진 타입의 어노테이션을 갖는 결합점을 정의한다. @within: 주어진 어노테이션을 갖는 타입 내 결합점을 정의한다. @annotation: 결합점의 대상 객체가 주어진 어노테이션을 갖는 결합점을 ..
-
Spring #5Java/Spring 2023. 3. 22. 15:01
AspectJExpressionPointcutAdvisor advisor.setAdvice(new SimpleAdv()); advisor.setExpression("execution(* one(..))"); and args 조건식을 걸 수도 있음 모든 one메소드에서 사용 execution 리턴타입에 대한 정의(은 모든 리턴 타입, int void 다 올 수 있음 ..:범위 조건(파라미터 갯수 제한 없음) one* one으로 시작하는 모든 메소드 (패키지 명 부터 올 수 있음) AspectJExpressionPointcutAdvisor advisor = new AspectJExpressionPointcutAdvisor(); advisor.setAdvice(new SimpleAdv()); advisor.s..
-
Spring #4Java/Spring 2023. 3. 21. 09:06
생성자 주입 controller에서 service를 호출할때 Setter Injection xml 방식 annotation 방식 construtor injection properties 개인정보나 DB정보 같은 민감한 정보들을 저장해 둔다 Properties properties = new Properties(); Key Value String 고정 propertices에 있는 엔터가 구분자 이다 경로는 src/main/resources안에 있는 편이 좋다 코딩 Properties properties = new Properties(); //K V String 고정 properties = System.getProperties(); properties.forEach((k, v) -> { System.out.p..
-
Spring #3Java/Spring 2023. 3. 20. 09:38
ava Bean 필드가 private여야 한다. Spring 단순성, 테스트용이성, 느슨한 결합성의 측면에서 스프링의 이점을 얻을 수 있음 경량 JAR파일 제어역행 결합도를 낮추기 위함 관점지향 구성요소 참고글 https://greendreamtrre.tistory.com/601 컨테이너 객체의 생명주기와 설정 톰캣(Sevelt과 JSP), 자원관리 Ioc(inversion Of Control) & DI(Dependency Injection) 의존하는 객체를 역행적 취득 협업할 객체의 참조를 취득 IoC는 의존성주입(DI), 의존성 룩업(DL)로 나뉜다 (DI를 쓰는쪽이 좋다) DI :의존성 주입, 필요한 객체를 외부에서 주입받는 것 spring bean (컨테이너에 등록된)자바 객체 spring bea..
-
Spring #2Java/Spring 2023. 3. 17. 09:33
spring legacy project tomcat 9.0전환 maven의존성 추가 lombok, spring-test mariadb, hikariCP, mybatis, mybatis-spring, spring-tx, spring-jdbc java build version update to 1.8 ${java-verison} root-context.xml hikariConfig bean hikariDataSource SplSessionFactoryBean @inject 자바 공식 라이브러리 Autowired 와 동일 하다(매개변수?가 살짝 차이가 난다 inject은 없음) @service bean등록 ENUM @RequestMapping(value = "/", method = RequestMethod.G..
-
Spring #1Java/Spring 2023. 3. 16. 09:55
spring framework(spring legacy project) STS개발도구 TDD(테스트 주도 개발) 개발방법 테스트케이스 작성 객체 지향 프로그래밍 좋은 결과를 기대 할 때 결합도 낮춤 DB나 다른곳에 넘기는 것 게시글이 멤버의 ID를 가지고 있지만 DB가 아니면 상관 없는 상태가 되기때문에 DB에 대해 기본키를 주면서 결합도를 낮춘다 응집도 높임 스프링의 특징과 의존성 주입 의존성 주입 제어의 역전(Inversion Of Control) Dependency Lookup(의존성 탐색) Dependency Injection(의존성 주입) 객체를 생성하는 방법 Board board = new Board();(결합도가 높음) 다형성으로 생성(추상화 패턴) BoardService service = ..