[KOTLIN] 함수 정의와 호출
Uploaded by N2T
- 코틀린/코틀린인액션
- · 2024. 2. 8.
Uploaded by N2T
코틀린에서 컬렉션 만들기//HashSet val set = hashSetOf(1, 7, 53) //ArrayList val list = arrayListOf(1, 7, 53) //HashMap val map = hashMapOf(1 to "one", 7 to "seven", 53 to "fifty-three")setOf listOf mapOf 같은 함수들은각각 Set List Map 타입의 인스턴스를 생성한다.to 코틀린에서 제공하는 중위 함수이다.키와 값을 연결하여 Pair 객체를 생성한다.해당 Pair 객체는 Map 을 생성할 때 사용된다고 한다.코틀린과 자바 컬렉션자바 컬렉션과 동일한 클래스를 사용한다.코틀린과 자바 간의 상호 운용성을 강화하기 위함코틀린에서 자바 컬렉션에 확장 함수를 추가하여 코틀..
class Main { fun readNumber(reader: BufferedReader): Int? { return try { val line = reader.readLine() Integer.parseInt(line) } catch (e: NumberFormatException) { null } finally { reader.close() } } }자바와 달리 함수가 던질 수 있는 예외 명시하지 않아도 된다.체크 예외언체크 예외를 구분하지 않는다.발생한 예외를 잡아내거나 잡아내지 않아도 됨NumberFormatException 은 언체크 예외코틀린은 잡아내도록 강제 XBufferedReader 의 경우IOException 을 던질 수 있는데, 체크 예외자바에서는 반드시 처리해야한다.코틀린에서는?명시..
역할트랜잭션 상태에 따라 이벤트 핸들러를 실행할 수 있음.예시 상황트랜잭션이 성공적으로 커밋된 후에만 이벤트 핸들러를 실행하도록 설정할 수 있다.트랜잭션 중 발생한 이벤트가 실제로 데이터베이스에 반영된 후에 처리되어야 할 때 유용어노테이션 사용@TransactionalEventListenerphase 속성을 통해 트랜잭션의 어떤 단계에서 이벤트 핸들러를 실행할지를 지정할 수 있습니다. TransactionPhase 열거형( ENUM )을 사용하여 다음과 같은 단계를 지정할 수 있다.BEFORE_COMMIT: 트랜잭션이 커밋되기 바로 전에 실행됩니다.AFTER_COMMIT: 트랜잭션이 성공적으로 커밋된 후에 실행됩니다.AFTER_ROLLBACK: 트랜잭션이 롤백된 후에 실행됩니다.AFTER_COMPLETI..
이전 상황version: '3.8' services: mysql: image: "mysql:5.7.16" container_name: item-browser-mysql environment: MYSQL_ROOT_PASSWORD: ? MYSQL_DATABASE: item-browser MYSQL_USER: item-admin MYSQL_PASSWORD: ? # 문자 인코딩 설정 MYSQL_CHARSET: 'utf8mb4' MYSQL_COLLATION: 'utf8mb4_unicode_ci' command: --lower_case_table_names=1 --character-set-server=utf8mb4 volumes: - mysql-data:/var/lib/mysql ports: - "3307:3306..
@MybatisTest 클래스 레벨의 @Sql 이 수행되지 않는 경우 문제 상황 MybatisTest 에서 메서드 레벨에서 @Sql 을 수행한 경우 클래스 레벨의 @Sql 이 동작하지 않는 상황 발견 테스트 코드의 신뢰성에 문제가 생기는 경우가 발생하였다. 공식문서 Executing SQL Scripts :: Spring Framework 문서상 @Sql 에 대해 해당 애너테이션은 클래스 레벨과 메서드 레벨에서 동시에 선언하는 경우 기본적으로 메서드 레벨의 @Sql 선언이 클래스 레벨의 선언을 오버라이딩한다. @SqlMergeMode 어노테이션을 통해 해당 동작을 변경할 수 있음. 이전 상황 @Sql(statements = {"SELECT * FROM ORDERS", "UPDATE ORDERS SET D..