728x90

분류 전체보기 202

@Resource 와 @Autowired

@Resource와 @Autowired는 모두 Spring Framework에서 의존성 주입을 수행하는데 사용되는 어노테이션입니다. 그러나 이 두 어노테이션 간에는 몇 가지 차이가 있습니다. 사용 목적: @Resource: 주로 자바 EE (Enterprise Edition) 환경에서 사용되며, 기본적으로 이름을 기반으로 의존성을 주입합니다. 이름 기반으로 주입되는 자원의 경우 name 속성을 사용하여 지정할 수 있습니다. @Autowired: Spring Framework에서 주로 사용되며, 주입할 빈을 타입을 기반으로 찾아서 의존성을 주입합니다. 주입 방식: @Resource: 이름(빈의 id나 이름)을 기반으로 주입합니다. 예를 들어 @Resource(name = "userService")와 같이 ..

스프링Spring 2024.01.12

@RequestBody , @ResponseBody/@RestController

1. @RestController란? - 스프링프레임워크 4.x 버전 이상부터 사용가능한 어노테이션으로 @Controller에 @ResponseBody가 결합된 어노테이션입니다. 컨트롤러 클래스에 @ RestController를 붙이면, 컨트롤러 클래스 하위 메서드에 @ResponseBody 어노테이션을 붙이지 않아도 문자열과 JSON 등을 전송할 수 있습니다. - @ResponseBody란? @Responsebody 어노테이션을 사용하면 http요청 body를 자바 객체로 전달받을 수 있다. - @RequestBodyf란? 클라이언트에서 서버로 필요한 데이터를 요청하기 위해 JSON 데이터를 요청 본문에 담아서 서버로 보내면, 서버에서는 @RequestBody 어노테이션을 사용하여 HTTP 요청 본문에..

스프링Spring 2024.01.11

[Java] DAO, DTO, VO 공부하기!!! (잘못된 정보 수정)

1. DAO (Data Access Object)DAO는 Data Access Object의 약자로, DB의 데이터에 접근하기 위한 객체를 가리킨다. DB에 접근하기 위한 로직을 분리하기 위해 사용한다. 직접 DB에 접근하여 data를 삽입, 삭제, 조회 등 조작할 수 있는 기능을 수행한다.MVC 패턴의 Model에서 이러한 일을 수행한다.예시@Repositorypublic class UserDao { private JdbcTemplate jdbcTemplate; @Autowired public void setDataSource(DataSource dataSource){ this.jdbcTemplate = new JdbcTemplate(dataSource); } ..

자바Java 2024.01.07

Java 자바 배열 연습

오랜만에 강의 들으며 자바 배열 연습해보았다. import java.util.Arrays; public class 배열연습 { public static void main(String[] args) { // 배열 생성 int[] intArray3 = new int[3]; boolean[] boolArray = new boolean[3]; String[] stringArray2 = new String[3]; // 배열 선언 먼저! -> 나중에 초기화 int[] intArray2; intArray2 = new int[3]; // 생성한 배열을 '순회' -> 배열의 값을 하나씩 뽑아서 조회한다. // (1) 단건 조회 System.out.println(intArray3[1]); // (2) 다건 조회 // 배열..

자바Java 2023.11.24

개발도서읽기_도메인 주도 개발 시작 하기(DDD)_최범균(P.~90)

개발자라면 한번쯤은 들어봤을 DDD, 막상 공부하려고 하니 막막해서 DDD(Domain Driven Design)에서 가장 유명한 저서인 최범균님의 도메인주도개발시작하기를 읽었다. 책의 모든 내용을 담을 순 없고, 90P까지의 내용 중에 인상깊은 내용을 정리해보았다. 도메인의 정의 도메인이란 무엇인가. 이 책에서는 도메인을 온라인서점에 비유해서 설명했다. 개발자 입장에서 온라인서점은 구현해야할 소프트웨어 대상이다. 이 때 이 온라인서점, 즉 소프트웨어로 해결하고자 하는 문제영역을 도메인이라고 정의한다. 도메인 모델 도출 도메인에 대한 이해없이 코딩을 시작할 수는 없다. 기획서, 유스케이스, 사용자스토리와 같은 요구사항을 통해 도메인을 이해하고 이를 바탕으로 모델 초안을 만들어야 코드를 작성할 수 있다. ..

개발자도서 2023.11.24

Java 정처기에 자주 나오는 자바 비트 연산자

정보처리기사 시험에 자주 나오는 비트연산! Byte를 8등분 한게 Bit Bit는 0,1 둘중 하나의 값만 저장하는 컴퓨터가 표현(저장)가능한 작은 작은 단위 물론 이전에 배운대로 0,1 값으로 산술연살을 하거나, 비교연산을 할 수 있지만 연산을 통해 자리수를 옮길 수 도 음 이처럼 Bit의 자리수를 옮기는 것을 바로 비트 연산이라고 한다. '>'(오른쪽으로 자리수 옮기기) 0,1은 2진수 값이기 때문에 - 자리수를 왼쪽으로 옮기는 횟수만큼 2의 배수로 곱셈이 연산되는 것과 동일하다 - 자리수를 오른쪽으로 옮기는 횟수만큼 2의 배수로 나눗셈이 연산되는 것과 동일하다 0101을 10 (2배가 되었음) public class Main2 { public static void main(String[] args)..

자바Java 2023.11.23

데이터베이스 이중화(티베로,tibero 이중화), failover 힘겹게 성공

회사에서 사용하고 있는 애플리케이션을 이중화 해보았다. 개발서버 ip 포트와 db를 백업한뒤 로컬 ip port를 이용해서 failover를 성공했다 . https://technet.tmaxsoft.com/upload/download/online/tibero/pver-20160406-000002/tibero_jdbc/ch09.html 제9장 Failover와 로드 밸런싱 로드 밸런싱 기능을 사용하려면 DriverManager.getConnection()의 URL을 description 형태로 작성하고 (LOAD_BALANCE=ON)만 추가하면 된다. 다음은 로드 밸런싱 기능을 활성화하는 예로, 최초 연결을 맺을 때 내부 technet.tmaxsoft.com 위의 공식문서를 참조하긴했지만 현재 프로퍼티가 ..

데이터베이스 2023.11.23

Java (public, static, void , 매개변수 이해하기)

간단한 예제코드 및 설명 //[JDK] //역할1. 컴파일러 //역할2. JRE //역할3. JDB 디버깅 // 클래스 : .java를 class로 바꿀 때 기준이 됨 // public : 제어자, 메인클래스를 어디까지 접근하게 할꺼냐, publuc(어디서든 접근이 가능함) // Main클래스의 이름은 .java의 이름과 동일시 시켜주어야함 public class Main { // 메인 메소드 // 자바 프로젝트(앱)는 제일 먼저 클래스의 MAIN 메소드를 실행시킨다. // = JVM의 약속 // static: 이 프로그램이 시작될 때 무조건 실행되는 녀석임을 표현 // void: 메서드 출력값의 데이터 타입 -> 출력은 없다. // output // input // 매개변수 자리 : (String[] ..

자바Java 2023.11.22

Java 메모리영역, 클래스로더, 가비지 컬렉터

메모리 영역 Java데이터를 저장하는 영역 - 운영체제로 부터 JVM이 할당받은 메모리 영역 기본형 변수와 참조형변수의 주소값을 저장하는 부분은 Stack영역이고 참조형변수의 원본값은 Heap 영역에 저장한다. 클래스 로더 Java.class 바이트 코드를 메모리 영역에 담는 운반기 -JVM으로 class(바이트코드)를 불러와서 메모리에 저장함 가비지 컬렉터 Java 쓰레기 청소기 - 메모리 영역에서 안쓰는 데이터를 주기적으로 흡수해가는 청소기

자바Java 2023.11.22
728x90