일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- db admin
- 루팅
- ResponseBody
- dbeaver
- 제어역전
- 의존성주입
- Version
- Spring
- ㅗ르
- jsonview
- Eclipse
- cutomobjectmapper
- 윈도우
- 긴문자열
- marketplace
- 이클립스
- 마이바티스
- NoClassDefFoundError
- 설정파일
- AOP
- git
- 캐릭터셋
- mybatis
- 스프링
- 생략
- 일정계획
- SVN
- 리눅스
- 버전
- 마리아DB
- Today
- Total
목록분류 전체보기 (32)
프밍일기
■ Annotation을 이용한 AOP 설정 # 스프링 설정파일(applicationContext.xml)에 AOP 관련 Annotation을 사용하기 위한 엘리먼트를 추가 # Advice 클래스에 Pointcut 설정- Pointcut 설정시 정의하는 빈 메소드는 XML에서 엘리먼트의 id에 해당하는 값을 설정 public class LogAdvice {@Pointcut("execution(* com.fannell.site.polymorphism..*Impl.*(..))")public void allPointcut() {}} # Advice 메소드에 실행시점을 지정하는 Annotation 정의- 참조값으로 Pointcut 정의 메소드명을 지정 public class LogAdvice {@Pointcut..
AOP(Aspect Oriented Programming)는 비즈니스 로직에서 반복되는 공통기능을 분리하기 위한 방법이다. 일반적으로 하나의 비즈니스 로직에는 핵심 비즈니스 로직 외에 로깅, 예외처리, 트랜젝션 처리와 같은 부가적이지만 없어서는 안될 코드들을 포함하게 되며 많은 경우에 이런 코드들이 실제 비즈니로 로직보다 더 많은 양을 차지하고 있다. businessMethod() { Logging... 실제 비즈니스 로직 Exception Handle... Transaction Handle... Logging... } AOP는 이런 공통 부가기능들을 관심 분리하여 별도로 구현할 수 있도록 하여 개발자가 비즈니스 로직 구현에만 전념할 수 있도록 해준다. ■ 용어정의 # Joinpoint 클라이언트가 호출..
■ 이클립스로 Spring 프로젝트 생성후 간단한 프로그램 작성후에 실행시키면 아래와 같은 예외 발생 Failed to instantiate SLF4J LoggerFactoryReported exception:java.lang.NoClassDefFoundError: org/apache/log4j/Level at org.slf4j.LoggerFactory.bind(LoggerFactory.java:128) ............ 처음 spring 프로젝트를 생성하면 메이븐 설정파일인 settings.xml 파일 경로가 다음과 같다. C:\Users\사용자\.m2\settings.xml 저런 경로나 파일이 없기때문에 JDK 기본 라이브러리가 아닌 외부 라이브러리를 참조할때 예외가 발생하는것 같다.아래와 같이..
■ 스프링 context 파일 설정내용 : ■ 오류내용 : org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/tx/spring-tx-4.0.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not ■ 원인 : 사용중인 스프링 버전이 3.0인데 4.0 버전을 사용하겠다고 선언하여 내부 jar에서가 아닌 인터넷으로 연결하여 조회 시도하는데 인터넷이 사용불가한 환경이라 에러 발생 ■ ..
■ Jersey 라이브러리 다운로드 - https://jersey.java.net/download.html - 현재 최신버젼은 2.25.1 이나 1.19.1 버젼으로 구현(걍... 내가 참고한 자료가 1.대 버젼이라서...) - jersey-archive-1.19.1.zip 파일을 다운받은후 풀고 lib 폴더에 있는 jar 파일을 모두 classpath에 추가 ■ 요청을 처리하여 응답할 프로그램 작성 - Dynamic Web 프로젝트 생성후 src폴더 하위에 적당한 패키지를 만들고 응답 프로그램 구현 - 간단한 JSONObject 타입의 객체를 생성하여 문자열로 변환한후 클라이언트로 반환 [ RestResponse.java ] @Path("/rest") public class RestResponse { ..
■ HSQL DB 다운로드 - https://sourceforge.net/projects/hsqldb/files/hsqldb/hsqldb_2_3/ - ZIP파일 압축을 푼후 lib 폴더에 있는 hsqldb.jar 파일을 프로젝트의 classpath에 추가 ■ HSQL DB 연결 및 쿼리 사용 public class HsqlDb { public void execute() { try { Class.forName("org.hsqldb.jdbcDriver"); String filepath = "E:/hsqldb/test-hsqldb"; String username = "sa"; String password = ""; Connection conn = DriverManager.getConnection("jdbc:h..
잘 만든 데이타베이스 관리툴.많은 종류의 DBMS를 지원한다.Oracle 외의 DB 쓸때는 이게 괜찮을듯...HSQLdb 로 생성해봤다. ■ DBeaver 설치 사이트 주소 : http://dbeaver.jkiss.org/ ■ DATABASE 생성 DB파일 저장경로 선택후 Path에 DB파일명을 입력하면 그 이름으로 해당경로에 파일 생성여기서는 "testdb" ■ SQL 사용
■ DI(Dependency Injection, 의존성 주입) - 빈(Bean)이 외부로부터 의존관계가 성립되는 객체를 인자로 넘겨받아 처리하는것. - 의존관계 설정을 컴파일 시점이 아니 실행 시점에 결정한다. - 의존관계 설정이 실행 시점에 결정되기 위해서는 넘겨받는 인자가 특정 클래스(Class)가 아닌 인터페이스(Interface) 이어야 한다. - 메소드가 사용하는 인자를 인터페이스로 설정 함으로써 인터페이스를 구현하기만 하면 다양한 object를 받아서 일관된 동작을 할 수 있도록 정의한다. ■ 어노테이션(Annotation)을 이용한 DI [ ConnectionMaker.java ] public interface ConnectionMaker { public Connection makeConne..
■ IoC(Inversion of Control, 제어역전) - 개발자가 작성한 프로그램을 프레임워크가 호출할 수 있도록 설정하는것 - 어노테이션을 이용하는 방식과 XML을 사용하는 방식이 있음 ■ 어노테이션을 이용한 IoC 설정 @Configuration public class DaoFactory { @Bean public UserDao userDao() { return new UserDao(connectionMaker()); } @Bean public ConnectionMaker connectionMaker() { return new NConnectionMaker(); } } - @Configuration : 스프링 프레임워크가 사용할 Class임을 나타냄 - @Bean : object 생성을 담당하..
■ Java 에서 MariaDB 연결 및 쿼리실행 public UserVo get(String id) throws ClassNotFoundException, SQLException { Class.forName("org.mariadb.jdbc.Driver"); Connection c = DriverManager.getConnection("jdbc:mariadb://localhost:3306/dbname", "dbuserid", "dbuserpassword"); String sql = "select * from tb_dyb_user where id = ?"; PreparedStatement ps = c.prepareStatement(sql); ps.setString(1, id); ResultSet rs = ..