전체 글(118)
-
Spring security session방식 - security 기본 설정 (1)
전체코드 : https://github.com/gks930620/spring_securty_all 프로젝트 세팅https://start.spring.io/ 에서 프로젝트를 생성합니다. 필요한 library는Spring Data JDBC,H2 Database, Spring Data JPA, Spring Web, Thymeleaf,Spring Boot Devtools , Lombok, Spring security 입니다. application.ymlspring: datasource: url: jdbc:h2:mem:security driver-class-name: org.h2.Driver username: sa password: h2: console: # H2 DB를..
2025.02.17 -
프로토콜이란. 프로토콜의 이해
"통신 프로토콜 또는 통신 규약은 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계이다." 위키백과에서는 프로토콜을 이렇게 정의하고 있고 이어서 TCP/IP, HTTP와 같은 프로토콜 종류부터 프로토콜 구성요소 등에 관해 설명한다. 하지만 프로토콜이 뭔지 이해하지 못했다면 이런 설명은 약간 뜬구름 잡는 식이 될 수 밖에 없다. 그래서 여기서는 "프로토콜" 이라는 것 자체에 대해 이해해보도록 하자. 통신의 시작과 디지털변조옛날에는 빛과 소리로 신호를 전달하였지만 19세기 접어들면서 전기로 신호를 전달하기 시작했습니다.최초의 전기신호를 개발한 폰 죄머링부터, 모스( 모스부호할 때 모스), 벨과 그레이(전화) 등에 의해본격적으로 멀리 떨어진 곳에서 서로 신호를 보내는 통신의 시..
2024.07.12 -
JDBC Class.forName()동작과 사용이유
자바 파일(Java file), 클래스 파일(Class file)자바 파일은 확장자가 .java 인 파일로서 자바 언어로 소스 코드를 작성하는 파일입니다.그리고 이 자바 파일을 자바 컴파일러로 컴파일한 파일이바로 .class 확장자를 가진 클래스 파일입니다.우리가 흔히 이클립스와 같은 IDE 혹은 커맨드 라인에서javac 명령어를 통해 컴파일했을 때 나오는 파일이죠.이 클래스 파일을 가지고 자바의 클래스 로더(Class Loader)가JVM으로 클래스 파일을 로딩합니다.Java에서 클래스의 로딩 과정은 클래스 로더(Class Loader)가 확장자가.class 클래스 파일의 위치를 찾아그것을 JVM위에 올려놓는 과정을 뜻합니다. 동적 로딩JVM이 클래스파일을 로드할 때 기본적으로 동적으로 로드합니다...
2024.07.12 -
JDBC connection 시 일어나는 일과 커넥션 풀 사용 이유
커넥션풀을 사용한다면 첫 요청시에만 직접적인 연결을 하고그 다음부터는 커넥션풀에 저장되어 있는 커넥션을 사용한다. 그렇다면 직접적인 연결을 할 때 어떤 코드가 실행되길래 시간이 오래걸리고커넥션풀을 사용하면 금방되는지 알아보자. Connection connection= DriverManager.getConnection("myurl");Connection connection= DriverManager.getConnection("myurl","myid","mypass"); @CallerSensitivepublic static Connection getConnection(String url, String user, String password) throws SQLException { java..
2024.07.12 -
Spring MVC 동작 원리
WebApplicationContext(DispatcherServlet)설정파일은 mvc-servlet.xml이다.Controller단 관련 빈들을 등록해준다.즉, mvc-servlet에서는 @Controller를 스캔하도록 하면된다.물론 @Controller뿐만아니라 Controller 단에서 사용하는 여러 빈들을 등록하면된다. 근데 이런 빈들은 각각의 역할이 있기 때문에 단순히 빈 등록 방법만 하기보다는이 DispatcherServlet이 어떤식으로 동작하는지를 알아야한다. 그 후 mvc-servlet.xml 내용을 살펴보자. 기본적으로 우리가 만드는 Controller는 다음과 같은 형태를 띈다.@Controllerpublic class FreeController {@RequestMapping(..
2024.07.12 -
Spring DI 적용하기
Spring의 DI 컨테이너 BeanFactory 만들어보기BeanFactory는 스프링이 빈을 생성하고 의존관계를 설정하는 기능을 담당하는 가장 기본적인IOC 컨테이너를 말한다. 이 BeanFacotry를 구현한 많은 컨테이너를 제공하고 있고개발자는 원하는 컨테이너를 선택해 빈을 관리하면 된다.그 중 많이 선택하는 방식이 @Annotation기반에 @Controller, @Service, @Inject 등을 붙인 방식이다. 여기서는 Reflections를 이용해 @Controller, @Service, @Inject 가 붙은 클래스들을 DI 방식을 통해 빈 등록하는 걸 구현해본다. DI는 생성자 DI만 생각한다.스프링에서처럼 다양한 기능을 제공하는 것이 아닌 단순히 빈을 생성하는 기능만 구현한..
2024.05.05