web
Aop 설명과 설정방법
AOP 설명 AOP는 횡단 관점으로서 어느 메서드가 실행되면 실행되는 과정 특정 메서드의 예외가 실행되면 실행되야 하는 것, return이 호출되면 실행되야하는 것 등을 지정을 해놓을 수 있다. 자바의 프록시 기능과 유사하다. Aspect는 이런 AOP를 수행할 객체를 이야기하고, Pointcut은 어느 시점에 동작을 하게 할것인지 예를 들어 어느 이름을 가진 메서드가 실행될 때 실행해라. 어는 패키지 안에 내용이 들어가 있는 클래스가 호출될 때 실행해라 등 지정할 수 있다. Around, Before, After 애노테이션을 이용하여 특정 시점에 지정된 Pointcut을 실행 시킬 수 있다. 설정방법 123456789101112131415161718192021222324252627282930313233..
스프링 실행 시 실행 되는 부분
스프링으로 만든 어플리케이션실행과 함께 스케줄등을 실행 시켜야 하거나 initialDB등등 초기화 하는 메서드를 실행시켜야 하는 경우가 있기 때문에 실행되는 메소드에 대해서 알아볼 필요가 있어서 이 구동될 때 실행되는 메소드에 대해 정리하였다. 1. PostConstruct, PreDestory 그 중 bean이 생성될 때 실행되는 init-method 또는 destroy-method를 하는 @PostConstruct와 @PreDestroy가 있다. @PostConstruct는 InitializingBean 콜백 인터페이스로써 afterPorpertiesSet() 으로써 정의된다. @PreDestory는 DisposableBean에 대해서 destroy()를 호출한다. 이런 초기화 메서드와 소멸 메서드의..
Mybatis에서 parameterType을 List로 insert하기
Mybatis에서 parameterType을 List로 지정하여 쿼리를 수행하고 싶은 경우 다음과 같이 진행한다, 1234567891011121314151617181920212223// 전송 데이터 형식List accouts = new ArrayList();accounts.add(new AccountDto("wedul", 123);accounts.add(new AccountDto("cjung", 456); accountDao.insertAccounts(accounts); // MybatisINSERT INTO account( id, age) VALUES ( #{item.id} ,#{item.age}) Colored by Color Scriptercs
Spring 프로젝트에서 src/main/resource 경로에 파일접근 방법
/src/main/resource에 존재하는 파일에 접근하고 싶은 경우에 다음과 같이 접근한다. 1234567// 파일 위치src/main/resource/file/test.text // 소스getClass().getResource("/file/test.txt");=> 만약 static block에서 사용하고자 하는 경우에는 getClass가 동작하지 않기 때문에getClass 대신 클래스명.class.getClassLoader을 사용한다.cs
외부 properties 파일을 이용해서 스프링 빈을 생성하는 방법
1. XML에서 프로퍼티 설정 12345678910111213141516// xml // properties 파일db.driver=com.mysql.jdbc.Driverdb.jdbcUrl=jdbc:mysql://localhost/spring4fs?characterEncoding=utf8db.user=testdb.password=testColored by Color Scriptercs 태그는 location 속성으로 지정한 프로퍼티 파일로부터 정보를 읽어와 빈 설정에 입력한 플레이스 홀더의 값을 프로퍼티 파일에 존재하는 값으로 변경한다. # place holder는 ${로 시작하고 }로 끝나는 값. 주의 할 점은 서로 다른 xml에서 서로다른 위치에 프로퍼티 파일을 사용한다고 해도 먼저 열린 프로퍼티 값이..
java.lang.Error: Unresolved compilation problem
프로젝트를 git을 통해서 내려받고 실행시키고자 할때, 가끔 다음과 같은 오류가 발생할 때가 있다. java.lang.Error: Unresolved compilation problem 이 경우 해결방법은 2가지이다. 1. 프로젝트 clean2. tomcat clean, tomcat 디렉토리 clean
spring에서 List 또는 Array 데이터를 Controller에서 받기
컨트롤러에서 List데이터를 받아서 매핑하기 위해서 필요한과정을 정리해본다. 1. List 데이터를 받기 먼저 controller에서 @RequestBody List를 받도록 설정한다. 그리고 ajax를 통해서 요청하는 부분에서 다음과 같이 진행한다. 1234567let data = [{'name':'cjung', 'age':30}, {'name':'wedul', 'age':28}]; $.ajax({ url:...., type:..., param: JSON.stringify(data);});Colored by Color Scriptercs 2. DTO객체 안에 LIST 변수에 데이터를 매핍 하고자 하는경우 기존에 습관대로 진행을 다음과 같이 먼저 해보자. 12345678910111213141516// j..
css 파일 Uncaught SyntaxError: Invalid or unexpected token 에러
css 파일 로드시 브라우저에서 다음과 같은 오류가 출력되는 경우가 있다. Uncaught SyntaxError: Invalid or unexpected token 이 때 가장 의심해 볼 수 있는 부분은 css 파일 로드시 다음과 같은 방식으로 로드했는지 의심해 보아야 한다. css 파일은 자바스크립트 파일이 아니기 때문에 로드시 문법 오류를 유발 할 수 있다. 그래서 css 파일로드시 다음과 같이 로드하여야 한다.
REST API 효율적인 설계 방법
REST 구성 구성 요소표현방법내용ResourceHTTP URI자원을 정의VerbHTTP Method자원에 대한 행위를 정의RepresentationsHTTP Message Pay Load자원에 대한 행위의 내용을 정의ex) Resource : /wedul/member Verb : HTTP POST Representations : { "id" : "wedul" }REST 특성 1. 유니폼 인터페이스 -> HTTP 표준만 따르면 어떠한 기술이든 사용가능 (HTTP/JSON, HTTP XML) 2. 무상태성 (STATELESS) 3. 캐시 가능 -> 웹 캐시, CD을 이용한 캐싱 가능 4. 자체 표현 구조 (SELF-DESCRIPTIVENESS) -> API 내용만 보고도 별도의 문서 없이도 쉽게 이해가 가..