전체
-
java환경변수,tomcat웹배포,mysql다운로드JAVA 2021. 8. 4. 00:08
1. JDK(java development kit) - JRE : 자바 실행환경(Java Runtime Environment)의 약자 JRE는 JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다. - JVM : 자바 가상 머신. 자바 바이너리 파일(.class) 를 실행. - JDK : JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함한다. 환경변수 : JAVA_HOME, classpath, path 세가지를 설정한다. JAVA_HOME 은 자바설치 경로를 지정해 설정한다. 이 JAVA_HOME 로 classpath 와 path 를 설정한다.(만약 자바의 위치가 바뀔 경우 JAVA_HOME ..
-
VO 와 DTOJAVA 2021. 8. 3. 16:23
VO & DTO VO( Value Object ) 개념 Value Object는 DTO와 동일한 개념이나 차이점은 read only 속성을 갖는다. Value Object는 관계 데이터 베이스의 레코드에 대응되는 자바 클래스이다. 형태는 db 레코드를 구성하는 필드들을 Value Object의 Attribute로 하고 해당 변수에 접근할 수 있는 Getter, Setter 메소드의 조합으로 클래스가 형성되어진 클래스이다. 특성은 대체로 불변성이고 equlas()로 비교할 때 객체의 모든 값을 비교해야 한다. 프로그램의 사용자가 화면에서 어떤 데이터를 입력하거나 조회 요청이 왔을 때 입력된 데이터나 조회하는 조건을 VO에 담아서 DAO에 요청하면 DAO는 저장소(일반적으로 Database )로부터 데이터를..
-
Mock-testJAVA 2021. 7. 27. 17:24
Mock Mock이란? 단위 테스트로 사용한다. 실제 객체를 만들어 사용하기에 시간, 비용 등의 Cost가 높거나 혹은 객체 서로간의 의존성이 강해 구현하기 힘들 경우 가짜 객체를 만들어 사용하는 방법이다. Mock 객체는 언제 필요한가? 테스트 작성을 위한 환경 구축이 어려운 경우 테스트가 특정 경우나 순간에 의존적인 경우 테스트 시간이 오래 걸리는 경우 개인 PC의 성능이나 서버의 성능문제로 오래 걸릴수 있는 경우 시간을 단축하기 위해 사용한다. Mock 객체(Mock Object) 행위를 검증하기 위해 사용되는 객체를 지칭하며 수동으로 만들 수도 있고 프레임워크를 통해 만들 수 있다. 행위 기반 테스트는 복잡도나 정확성등 작성하기 어려운 부분이 많기 때문에 상태 기반 테스트가 가능하다면 만들지 않는..
-
websocket:채팅JAVA 2021. 7. 27. 17:16
websocket + 네트워크운영 이해 데이터 보낼 때 송수신 측에서 받는 방식 1) TCP/IP 수신측이 보내는 데이터는 패킷단위로 전송되어 송신측이 받는다. 핸드쉐이크 : 서로 데이터 유실이 없는지 확인하여 계속 소통하며 확인한다. - 장점 : 안전하다. - 단점 : 느리다. 2) UDP 핸드쉐이크가 없다. - 장점 : 빠르다 (TV 같은 것, 빠르다) - 단점 : 데이터가 몇몇 유실될 수 있다.(가끔 끊기는 이유) * TCP/IP 기반의 프로토콜 종류 (1) http : TCP 기반에서 더 추가하여 http 라는 규약이 생긴 것. (2) smtp (3) FTP (4) 사용자가 직접 TCP/IP 기반의 프로토콜을 만들 수도 있다. * 네트워크 운영 개념 client - server 소통 중 ser..
-
3Tier: 예외처리,@QualifierJAVA 2021. 7. 27. 17:06
런타임예외가 아닌 경우에 예외별처리하기 @Autowired I판매DAO 판매DAO; @Override public String 로그인가능여부확인하다(String id, String password) { HashMap 회원번호와성명 = null; try { 판매DAO.기록하다(); A a1 = null; a1.g(); } catch (Exception e) { //그럴 땐 이렇게 instanceof 로 예외의 종류를 확인해 걸면 된다. if(e instanceof ConnectException) { //... } TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return "예외발생"; } return "정상처리"; } 런타임예..
-
Spring:interceptor,3Tier(Presentation,Business,Dataservice)JAVA 2021. 7. 27. 17:03
인터셉터(Interceptor) (전, 후처리기 역할을 수행한다.) 위의 사진을 보면 차이점을 쉽게 알 수 있는데, 둘다 컨트롤러 전에 작업을 처리하는 용도로 사용되지만 호출되는 시점이 다르다. 필터(Filter)는 dispatcherServlet으로 요청이 가기전에 실행되고 인터셉터(Interceptor)는 Controller로 요청이 가기전에 실행이된다. Filter DispatcherServlet 앞단에서 정보 처리 J2EE 표준스펙에 정의되어 있는 기능 ( web.xml 에서 설정 ) Interceptor DispatcherServlet에서 Handler(Controller)로 가기전에 정보 처리 SpringFramework에서 자체적으로 제공하는 기능 ( MVC 에서 설정 ) 출처: https:..
-
Mybatis:트랜잭션_210628(월)카테고리 없음 2021. 7. 27. 16:43
Transaction ( rollback() ) >> MyBatisConfig ( 추가 ) @Configuration @EnableTransactionManagement//어노테이션 추가 @MapperScan(basePackages = {"com.stone"}) public class MyBatisConfig { // 중략.. @Bean public DataSourceTransactionManager transactionManager() { return new DataSourceTransactionManager(dataSource()); } } Transaction : 하나의 작업단위 예를 들어 계좌 이체라는 하나의 논리적인 작업은 총 2가지 행위로 이루어진다. 송금하는 쪽에서 출금 행위, 수신받는 쪽에..
-
1:n 관계에서 update : insert & update, auto_increment 초기화카테고리 없음 2021. 7. 27. 16:28
1:n 관계에서 n 관계인 경우는 update 가 insert & delete & update 가 모두 포함되어 있다. 1. insert 와 update : sql 문의 on duplicate key update 로 해당 PK 가 존재시 update , 없을 시 insert 로 들어간다. 뒤에 구문은 update 가 될 컬럼만 '컬럼명=values(컬럼명)' 으로 작성해준다. insert into lifestyle_facility(lifeFacility_no, lifeFacility_image_name, lifeFacility_image_size, lifeFacility_title, lifeFacility_info,lifestyle_no) values(1,'',123,'',1) on duplicate..