Spring17 [Spring] Tiles로 페이지 조각하기 Tiles란?- 반복적으로 사용되는 header, footer와 같은 정보를 한 곳에 모아둔 프레임워크를 말한다.- 화면의 기본 레이아웃 템플릿을 정의하고 상속을 통하여 대부분 구조를 재사용할 수 있는 기능 및 설정파일을 통한 통합 관리를 통해서 확장성 있고 일관되게 페이지 구성을 관리한다. Tiles 사용하기1. gradle에 의존성 추가 2. View Resolver 등록tilesViewResolver메서드는 TilesUrlBasedViewResolver 빈을 정의하여 아파치 타일즈를 사용하여 뷰를 설정하고 해석하는 역할을 한다. 이 빈은 Tiles 정의를 기반으로 뷰를 해석하여 적절한 JSP나 템플릿 파일을 렌더링한다.tilesUrlBasedViewResolver.setOrder(1);뷰 리졸버의 .. 2024. 7. 3. [Spring] IoC(Inversion of Control), DI(Dependency Injection) Spring의 3대 요소라고 하는 IoC, DI, AOP중 IoC와 DI에 대해 정리해보자 IoC(Inversion of Control) - 그대로 해석하면 제어의 역전이다. 제어권을 프레임워크가 갖는 것을 의미한다. 즉, 개발자에게 제어권이 없기 때문에 제어(Control)가 역전(Inversion)되었다고 한다. 여기서 제어란, 프로그램의 흐름이나 객체의 생성과 같은 것을 의미한다. - IoC관점에서 각자의 역할1) 개발자는 코드의 흐름이나 객체생성에 관련된 코드를 직접 작성하지 않는다.2) 개발자는 프레임워크가 제공하는 설정방법을 사용하여 코드를 설정만 한다.3) 프레임워크는 이 설정을 보고 객체를 생성하고 코드가 동작하는 순서를 결정하여 실행한다. 헐리우드 원칙객체지향 프레임워크와 클래스 라이브.. 2024. 7. 2. [Spring] Spring Security 동작 원리 Spring Security란? Spring Security는 Spring 기반의 애플리케이션의 보안(인증과 권한, 인가 등)을 담당하는 스프링 하위 프레임워크이다. 스프링에서 제공해주기 때문에 개발자가 하나하나 보안에 대응하는 코드를 짜지 않아도 되는 장점이 있다. 일반적인 경우 스프링 시큐리티는 로그인 유지/ 페이지 권한 등에 사용된다. Spring Security 관련 용어1) 인증(Authentication): 사용자가 본인인지를 확인하는 절차2) 인가(Authorization): 인증된 사용자가 요청한 경로에 사용자의 접근이 가능한지(권한이 있는지) 결정하는 절차3) 접근주체(Principal): 보호받는 경로(권한이 있어야 접근 가능한 경로)에 접근하려고 하는 사용자4) 비밀번호(Creden.. 2024. 7. 1. [Spring] POJO, Java Bean, Spring Bean 헷갈리는 개념인 POJO, Java Bean, Spring Bean에 대해 알아보았다! POJO: Plain Old Java Object오래된 방식의 간단한 자바 오브젝트라는 말로서 Java EE 등의 중량 프레임워크들을 사용하게 되면서 해당 프레임워크에 종속된 "무거운" 객체를 만들게 된 것에 반발해서 사용되게 된 용어이다: 회원에게 제한을 두지 않고 사용자에게 엔터티에 대한 완전한 액세스 권한을 부여하고 싶지 않을 때 사용한다.- 인수가 없는 생성자가 있을 수도 있고 없을 수도 있다. - 어떠한 자바 객체도 POJO에 속한다! Java Bean: 사용자에게 엔터티를 제공하고 엔터티의 일부만 제공하려는 경우에 사용된다.1. 기본 생성자를 가진다.2. 필드는 getter와 setter만 액세스할 수 있다.. 2024. 6. 1. Thymeleaf - layout 구조 나누기 관리자 페이지를 만들고 싶은데 기본 틀 안에서 내용 페이지만 바꿔주고 싶다.Thymeleaf에서는 Thymeleaf Layout Dialect를 사용하여 이 작업을 수행할 수 있다고 해서 관련 내용을 알아보자! 먼저 내가 만들고 싶은 구조를 그려보자피그마라는 프로그램을 이용하면 그릴 수 있군. 아주아주 간단하게 .. 그려보았다! 크게는 header, content, footer 형식을 가지고 헤더에서 선택한 요소에 따라 content의 내용이 바뀌게 하고 싶다. 이 때 content는 적절한 사이드 바를 가지게 하고 싶다. layout을 설정할 때 큰 구조는 이렇다! 이렇게 만들어진 layout에 필요한 페이지들을 생성해주면 된다. - admin-header.html .. 2024. 5. 1. 요청 DTO의 기본 설정과 이유 DTO로 정보를 받아올 때마다 헷갈리는 것은 각 클래스에 어떤 어노테이션을 달아줄지이다. 이제는 확실히 이해하고 기억하자! @RequestBody@RequestBody를 지정한 객체의 경우 컨트롤러에 온 요청을 해당 객체에 매핑시켜 변환하는 역할을 해준다.컨트롤러에 @RequestBody로 지정한 객체는 본문 형식을 확인한 후 자바객체로 변환하게 된다.Jackson은 JSON 데이터를 출력하기 위한 MappingHttpMessageConverter를 제공한다. 만약 Spring MessageConverter에 MappingJacksonHttpMessageConverterfmf 등록하면, Controller가 리턴하는 객체를 다시 Jackson의 objectMapper API로 JSON 객체를 만들고 나서.. 2024. 4. 28. AWS RDS(mySql) 프리티어 생성하기 프로젝트를 시작하기 위해서는 원격으로 접근할 수 있는 데이터베이스 서버가 필요하다. aws에서 무료로 데이터베이스 서버를 구축할 수 있다고 해서 알아보고 기억하고자 한다! 먼저 aws에서 계정을 만들어주자! 계정을 만들고 승인이 나기까지 최대 24시간의 시간이 소요된다.(1~2분 정도 걸렸다) 나의 콘솔 홈에서 --> RDS를 검색하고 제일 처음 뜨는 서비스를 클릭한다. 데이터베이스 생성을 클릭! 서식을 채워주고 이때 사용자 이름과 암호는 반드시 기억하고 있어야 한다. 메모장에 따로 적어두기! 스토리지 자동 조절 활성화가 켜져있는데 과금을 방지하기 위해서 꺼준다. 퍼블릭 엑세스를 '예'로 해주고 보안 그룹도 설정했다. 마지막으로 생성 버튼을 눌러주면 끝! 이제 파라미터 그룹을 설정해줘서 우리가 만들고자 .. 2024. 4. 22. [dbcp2] connection pool 설정 커넥션 풀을 설정해주지 않아서 데이터베이스 서버의 접속이 제한됐던 적이 있다. connection pool을 사용하면 DB Connection 수를 제한할 수 있어서 과도한 접속으로 인한 서버 자원 고갈을 예방할 수 있다 DB Connection - DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단 - DB Connection은 Database Driver와 Database 연결 정보를 담은 URL이 필요함 - Java의 DB Connection은 JDBC를 주로 이용하는데, URL 타입을 사용함 JDBC의 실행구조 DB 벤더에 맞는 드라이버 로드 DB 서버의 IP, ID, PW 등을 DriverManager 클래스의 getConnection() 메소드를 사용하여 Connection .. 2024. 4. 18. 이전 1 2 다음