본문 바로가기

웹프로그래밍/spring~~

CDATA란? Spring 프레임워크를 사용하여 XML에서 쿼리를 작성하다 보면 아래 처럼 를 보게된다 사용이유 쿼리를 작성할 때 ' 더보기
gradle 의존성 옵션들 의존성 옵션들 implementation: 의존 라이브러리 수정시 본 모듈까지만 재빌드 본 모듈을 의존하는 모듈은 해당 라이브러리의 api 를 사용할 수 없음 api: 의존 라이브러리 수정시 본 모듈을 의존하는 모듈들도 재빌드 본 모듈을 의존하는 모듈들도 해당 라이브러리의 api 를 사용할 수 있음 compileOnly: compile 시에만 빌드하고 빌드 결과물에는 포함하지 않음 runtime 시 필요없는 라이브러리인 경우 (runtime 환경에 이미 라이브러리가 제공되고 있는가 하는 등의 경우) 참고: https://blog.gradle.org/introducing-compile-only-dependencies runtimeOnly: runtime 시에만 필요한 라이브러리인 경우 annotationP.. 더보기
Maven vs Gradle Maven Apache의 이름 아래 2004년 출시 Ant를 사용하던 개발자들의 불편함을 해소 + 부가기능 추가 Maven은 무엇인가? 빌드를 쉽게 (Making the build process easy) pom.xml을 이용한 정형화된 빌드 시스템 (Providing a uniform build system) 뛰어난 프로젝트 정보 제공 (Providing quality project information_ Change log document created directly from source control Cross referenced sources Mailing lists Dependency list Unit test reports including coverage 개발 가이드 라인 제공 (Provi.. 더보기
maven wrapper Apache Maven은 자바 프로젝트에서는 없어서는 안 될 의존성 관리 도구 이를 좀 더 쉽게 최신 버전을 유지하기 위해 Maven wrapper가 나옴 Maven wrapper가 설정된 프로젝트는 Maven 설치 없이도 빌드 가능 결론 복잡해지는 빌드 환경을 Maven Wrapper를 이용해 해결할 수 있다 Maven Wrapper는 Spring, Presto 등 유명 프로젝트에서도 활발히 사용 중이다. 더보기
Maven 이란~ maven : 자바프로젝트의 빌드(build)를 자동화 해주는 빌드 툴 maven lifecycle : clean, build, site 더보기
Spring PSA Portable Service Abstraction 환경의 변화와 관계없이 일관된 방식의 기술로의 접근 환경을 제공하려는 추상화 -> 스프링 웹 MVC @Transactional를 붙이면 Transaction처리가 됨 더보기
SPRING AOP 비즈니스 로직이 아닌 보안, 트랜잭션, 성능 검사(?) 다른 곳으로 빼서 한번에 관리 코드가 없지만 코드가 있는 것 처럼 실행된다. 방법 컴파일 A.java -> (AOP) -> A.class (AspectJ 로 컴파일로) 바이트코드 조작 A.java -> A.class ---(AOP) 메모리로 올릴 때 프록시 패턴(스프링 AOP) 디자인 패턴을 사용해서 AOP와 같은 효과를 내는 것 create annotation을 해서 aop 구현 @aspect 도 만들고 @around를 통해 공통코드가 들어감 or @after @before 등등.... 더보기
의존성 주입 Dependency Injection 생성자를 통해 객체를 만드는 대신에 @Autowired를 통해 빈으로 등록된 객체를 가져올 수 있다. 생성자 필드에서 Autowired로 받기 Setter에 붙이기 private final PetRepository pets; public OwnerController(OwnerRepository clinicService, PetRepository pets) { this.owners = clinicService; this.pets = pets; } final을 붙일 경우 다시 변수값이 바뀌지 않게 하기 위해 초기화 해주어야 한다. 더보기