개발/잡다한것 (12) 썸네일형 리스트형 spring 비지니스 로직이란? 예를 들면 자료를 불러올때 권한에 맞게 허용된 데이터만 불러온다던지자료를 입력할때 계산을 한다거나 데이터의 변형(암호화)를 한다거나삭제를 할때 관련된 정보들(테이블)을 순차적으로 한번에 지운다거나 사용자는 단지 버튼을 한번 누르지만 서비스에서 저린 일들을 하게 만들고자 하는 목적이 있다다시말해 사용자의 요구사항을 해결하기위한 실질적코드라고 이해하면되겠다 실제 DB와 연동하여 data를 얻어오기위한 작업을 수행하는 영역 이라고생각할수도있겠다서비스영역을 지칭하기도한다 스프링 bean이란? -(스프링컨테이너) 빈(Bean)은 스프링컨테이너가 관리하는 자바객체를 뜻한다그렇다면 스프링컨테이너는 무엇인가스프링 컨테이너는 스프링 빈으로 알려진 객체를 인스턴스화,구성 및 조립하고 생명주기를 관리하는 역할을 한다스프링 빈이 필요한이유는 뭘까public class Service{ private final Dao dao; public Service(Dao dao){ this.dao=dao; }}Sevice service = new Service(new JdbcDao());위에 코드를 보자 bean을 사용하지않으면 new를 사용하여 인스턴스를 만들어 의존성을 주입해야한다만약 서비스의 규모가 커진다고 생각해보자 위 사진은 의존성관계도이다A객체를 만들려면 어떻게해야하는가A객체를 만들기위해서는 B,C,D객체.. 생성자와 this의 의미 만약 아래와 같은 두코드가있다class Print{ public String delimiter=""; public void A() { System.out.println(delimiter); System.out.println("A"); System.out.println("A"); }}public class MyOOP{ public static void main(String[] args) { Print p1 = new Print(); p1.delimiter="----"; p1.A(); }}이 코드는 p1이라는 인스턴스의 delimiter의 변수를 변경하여 A()함수를 실행시켰다근데 만약 delimiter변수를 설정하는것을 깜빡하면 오류가날것이다 이것을 방지하기 위해 생성자라는 개념이있다.. JSTL태그 정리 if 문 만들기 JSTL이란? JSTL이 생긴이유: JSP파일에서 JAVA코드와 HTML코드가 섞이면 비슷하게 생겼기 때문에 알아보기힘들다그래서 보기좋고 이해하기 쉬운코드를 만들기위해 JSTL라이브러리를 만들었다 아래는 JSTL을 사용하지않았을때코드이다 하지만 JSTL을 사용하면 코드를 보는데 보다 보기좋고 이해하기쉬워진다 아래는 JSTL을 사용한코드이다 ${employee.name} JSTL을 사용할려면 아래에있는 코드를 header에 추가해야한다 JSP란?-(서블릿) JSP는 JavaServer pages의 약자로 Java웹 애플리케이션의 일부다 동적 웹페이지를 생성하는데 사용된된다 JSP페이지는 HTML코드 안에 java코드를 포함할 수있는 특별한 형식의 파일이다이를 통해 동적 콘텐츠를 생성하고 웹 애플리케이션과 상호작용할수있다주로 웹 애플리케이션의 사용자 인터페이스(UI)를 구성하고 동적 데이터를 표시하는데 사용된다 서블릿(servlet)이란 동적 웹 페이지를 만들때 사용되는 자바기반의 웹 애플리케이션 프로그래밍 기술이다.서블릿은 웹 요청과 응답의 흐름을 간단한 메소드 호출만으로 체계적으로 다룰 수있게 해준다서블릿은 서버에서 실행되다가 웹 브라우저에서 요청을 하면 해당 기능을 수행한 후 웹 브라우저에 결과를 전송한다쉽게 예를들면 로그인 시도를 할 때, 서버가 클라.. Ajax란? -(동기,비동기) 웹페이지가 get요청을할때 ajax를 사용하지않으면 요청을 리스폰하기전까지는 무언가를 못한다 즉 동기적으로진행한다하지만 Ajax를 사용하면 get요청을할때 리스폰하지전까지 웹페이지에서 무언가를 할수가있다. 즉 비동기적으로한다 동기란? 작업이 여러개일때 순차적으로 처리하는것을 말한다 클라이언트가 서버에 데이터를 요청할때 응답을 받을때까지는 아무것도못한다 예를들면 커피를 주문할때 앞사람이 커피를 다받을때까지 기다려야하는상황이다 비동기란? 작업이 여러개일때 순차적으로 처리하지않는것을 말한다 클라이언트가 서버에 데이터를 요청했을때 응답을 받기전까지도 다른요청을더 할수있다 예를들면 커피를 주문하고 진동벨을 받고 커피를받지않은상태에서도 뒷사람은 커피를 주문할수있는 경우이다. ajax를 사용하지않으면 get요청을할.. JPA란? JPA을 알기위해 ORM이라는것을 알아야한다ORM이란? 프레임워크가 객체와 테이터베이스의 테이터를 자동으로 매핑(연결)해주는것을 말한다객체 지향 프로그래밍은 클래스를 사용하고,관계형테이터베이스는 테이블을 사용한다ORM을 통해 객체간의 관계를 바탕으로 SQL을 자동으로 생성하여 불일치를 해결한다즉 JAVA언어만 사용하여 DB를 컨트롤할수있는걸 말하는거같다 JPA란 자바에서 사용하는 ORM기술 표준이다JPA는 자바애플리케이션과 JDBC사이에서 동작하며 자바인터페이스로 정의되어있다 인터페이스란 일종의 매개체이다 소프트웨어사이에서 정보나 신로를 주고받을수있도록해주는것이다 영속성 컨텍스트란? 영속성은 데이터를 DB에 영구적으로 저장하는것을 말한다컨텍스트는 모든정보를 말한다컨텍스트를 넘겨준다=모든정보를 넘겨준다즉 영속성 컨텍스트는 DB에 저장해야하는 모든정보를 알고있는것이다,데이터베이스에 왔다갔다하는 모든것을 알고있다JAVA에서 데이터를 DB로 보낼때는 항상 영속성컨텍스트에 담아 보낸다 진짜 모든정보를 다가지고있다 트랜잭션이란? 트랜잭션은 데이터베이스에서 하나의 작업단위를 말한다 예를 들면 송금서비스가있다고 하자 A가 B한테 10만원을 보낸다그러면 A계좌에서 10만원을 빼야한다그리고 B계좌에 10만원을 더해야한다 하지만 A에서는 10만원을 빼고나서 데이터베이스에서 오류가발생하면 B는 10만원을 받지못하고 A는 10만원을 잃게된다 이러한 것을 방지하기 위해서는 트랜젝션을 사용한다 만약 이런 오류가발생하였을때는 A에 다시 10만원을 더하여 원상태로 복구시킨다 이것을 rollback이라고 한다 만약 오류가 발생하지않고 정상적으로 송금에 성공하였을때는 commit이라고한다 이전 1 2 다음