전체 글

무작정 Spring#2(insert)
Controller-Service-DAO 우선 사용자가 서버에 요청할 때 값이 변해지지 않는 GET부터 만들자. 어노테이션부터 붙이고 시작. MessageService를 받을 배열 객체를 만들어 뒀는데 아직은 서비스를 구현하지 않았으니 주석 달아주고 Dao, Service 만들어 주면 컨트롤에서 마저 작성하자. 서비스로 가보자. 마찬가지로 어노테이션 붙여주고 Dao로 DB랑 접촉하고 Service로 DB와 접촉한 Entity들의 관한 내용을 다시 Controller에게 줘야 하니 우선 생성자부터 만들고 시작. Dao를 만들기 전 각각의 Entity들이 DB와 접촉해야 하니 Entity클래스를 만들어 DB와 1:1 대응되게 멤버 변수를 지정. 간단하게 DB에 4개의 Column을 만들고 Entity에서 1..

무작정 Spring #1(기본 설정)
학원에서 Spring을 배운지도 어느덧 한 달의 시간이 흘러간다. 이제는 MVC패턴이 어떤 식으로 이루어지는지 눈에 보이기 시작한다. 한 달 동안 나의 무지를 몸소 느껴가며 어노테이션의 경우는 하나도 몰라서 그냥 죄다 손으로 적어버렸다.(모르면 손발이 고생해야지.......) 하지만 선생님이나 다른 유튜버들의 도움을 받으면서 문제를 해결하다 보니(학원에 경우는 주어진 문제를 같이 해결함) 나의 문제 해결 능력이 없다는 것을 최근 강사님의 숙제를 받고 난 뒤 깨닫게 되었다. 막상 혼자서 해보려 하니 뭔가를 끄적이기는 해도 이게 맞다는 확실히 없다. 그래서 그냥 이제까지 배웠던 부분을 혼자서 정리하는 느낌으로 혼자서 Spring을 사용해보려 한다. 이 글을 포스팅하며 내가 모르는 부분 하나하나 그냥 죄다 적..
ORM(MyBatis)
ORM Object Relational Mapping(객체-관계 매핑) 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것. Spring에서 Dao의 역할을 해주며 이렇게 사용하게 될 시 Dao는 필연적으로 사라지게 됨. 이렇게 사용하는 이유는 CP(Database Connection Pool를 먼저 알아햐 한다. 일반적인 데이터 연동 과정은 웹 애플리케이션이 필요할 때마다 데이터베이스에 연결하여 작업하는 방식이다. 하지만 이런 식으로 필요할 때마다 연동해서 작업할 경우 데이터베이스 연결에 시간이 많이 걸리는 문제가 발생하게 된다. 이를 보완하기 나온 것이 미리 열어 놓고 빌려주는 방식을 이용하는데 이를 CP라 한다. 그리고 지금 흔히 사용하는 CP는 HikariCP를 사용하며 이렇게 사..
Spring project 만들시 처리해야 할 것
Ctrl+Alt+s -> Build, Execution, Deployment -> Build project automatically 상단 우측 Application 설정 -> Modify options -> On 'Update' action, On frame deactivation-> classes and resources로 체크 Ctrl+Alt+Shift+s -> Facets -> +모양 누르고 -> static 경로 '/'로 체크 (확인 방법은 static directory에 파란색 모양으로 구멍이 생기면 됨) 추가될시 업데이트
객체
객체란 공간을 차지하는 사물로써 프로그래밍으로써 객체는 메모리 공간을 차지하는 사물의 일부데이터 집합이다. 이러한 객체는 클래스로써 표현할 수 있으며 클래스는 멤버변수와 생성자 메서드를 가진다고 볼 수 있다. 멤버변수는 클래스내에서 지정하는 값이며 클래스를 나타낼 수 있는 대표적인 값이라고 생각하자. 그리고 우리는 객체 생성시 필요한 초기값을 설정하는데 이것을 생성자라고 약속 지었다. 그렇다면 지금 만들어진 클래스는 멤버변수와 만들어졌을 때 필요한 초기값을 설정하는 생성자만 있다. 즉, 클래스의 기능을 나타내줄 무언가가 없는데 이것이 바로 메소드이다. public class C00Info { //객체(일반) : 존재(공간을 차지) 사물 //인스턴스(자바객체) : 메모리 공간을 차지하는 사물의 일부데이터 ..
IF
public class C01IF { public static void main(String[] args) { //단순 IF //Scanner sc = new Scanner(System.in); //System.out.print("입력 : " ); //int num = sc.nextInt(); // //if(num%2==0) //짝수인가? //{ ////참인경우 실행 코드블럭 //System.out.println(num+" 은 짝수입니다"); //} //System.out.println("프로그램을 종료합니다"); } } //if-else문(하나의 조건식을 기준으로 참인경우 종속문장,거짓인 경우 종속문장) Scanner sc = new Scanner(System.in); System.out.print("..
연산자
public class C01Basic { public static void main(String[] args) { //01 산술연산자(+,-,*,/,%) //int a=10,b=3; //System.out.println("a+b = " + (a+b)); //System.out.println("a-b = " + (a-b)); //System.out.println("a*b = " + (a*b)); //System.out.println("a/b = " + (a/b));//몫 //System.out.println("a%b = " + (a%b));//나머지(중요) //% //1 짝수 홀수 //2 배수 구분 //3 범위 지정 //4 자리수 추출 //02 복합대입연산자(산술연산자 + 대입연산자) //int a=0;..