반응형

web/Spring

    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

    Mybatis String을 ParameterType으로 넘길때

    mybatis에서 String(문자열) 하나의 값만 넘길때는 다음과 같이 사용한다.

    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..

    UriComponents 클래스

    UriComponents 클래스 UriComponents클래스는 Path나 query에 해당하는 문자열들을 추가해서 원하는 URI를 생성할 때 사용한다. UriComponents uricomponets = UriComponentsBuilder.newInstance().path("/board/read").queryParam("bno",12).queryParam("perPageNum", 20).build(); logger.info(uricomponets.toString()); 다음과 같이 지정하게 되면, INFO : com.wedul.spring.UriComponentsTest - /board/read?bno=12&perPageNum=20 다음과 같이 설정되어 출력된다.

    Mybatis의 동적 SQL

    Mybatis의 동적 SQL Mybatis가 가지는 표현식은 다음과 같다. IfChoose(when, otherwise)Trim(where, set)Foreach 기능 사용 예 설명 if AND title like #{title} 코드로 작성할 때의 if 구문에 대한 처리 -> 참 거짓을 구별해서 사용할 때 처리한다. Choose, When, otherwise AND title like #{title"" AND author_name like #{author.name} AND featured = 1 switch와 같은 상황에 대한 처리 Trim, Where,set … 로직을 처리하면서 필요한 구문을 변경 foreach

반응형