Spring

· Spring
DI(Dependency Injection) DI(Dependency Injection)란 스프링이 다른 프레임워크와 차별화되어 제공하는 의존 관계 주입 기능으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입 시켜주는 방식이다. DI(의존성 주입)를 통해서 모듈 간의 결합 도가 낮아지고 유연성이 높아진다. 이 예시는 MessageSercie 는 SimpleMessageService의 인터페이스 구현제이고 실제메서드를 반환하는로직은 SimpleMessageService 입니다 DI 에서 핵심 포인트는 의존성을 주입합니다. MessagePrinter 클래스를보면 생성자를 통한 의존성 주입을하여 MessageSercie 구현체 역시 를 MessagePrinter 에 주입을합니다. 그렇게 되면 결합..
· Spring
JPA 소개 객체를 관계형 데이터베이스에 저장하려면 많은 시간과 코드를 소비해야 합니다. 이러한 문제를 해결하기 위해 자바 진영에서는 JPA(Java Persistence API)라는 표준 기술을 제공합니다. JPA와 ORM ORM(Object Relational Mapping)은 객체와 데이터베이스 사이의 관계를 매핑하는 방법론입니다. JPA는 ORM을 자바에 적용한 표준 기술로, SQL 작성 없이 객체를 데이터베이스에 직접 저장할 수 있게 도와주며, 객체와 데이터베이스의 차이도 중간에서 해결해줍니다. JPA vs SQL Mapper SQL 매퍼인 MyBatis나 스프링의 JdbcTemplate을 사용하면 JDBC 코드를 많이 줄일 수 있지만, 여전히 등록(Create), 수정(Update), 삭제(D..
· Spring
스프링 시큐리티는 자바 애플리케이션을 위한 오픈 소스 보안 프레임워크입니다. 스프링 시큐리티는 다양한 보안 기능을 제공하며, 이를 통해 개발자는 애플리케이션의 보안을 손쉽게 강화할 수 있습니다. 스프링 시큐리티는 다음과 같은 다양한 보안 기능을 제공합니다. 인증: 사용자의 신원을 확인하는 기능입니다. 인가: 사용자에게 리소스 접근 권한을 부여하는 기능입니다. 세션 관리: 사용자의 세션을 관리하는 기능입니다. 암호화: 사용자의 데이터를 안전하게 저장하는 기능입니다. (CSRF) 보호: CSRF 공격으로부터 애플리케이션을 보호하는 것이 중요합니다. Spring Security에는 CSRF 토큰을 생성하고 검증하여 이러한 공격을 완화하기 위한 내장 지원이 포함되어 있습니다. 개발 시간 단축: Spring Se..
· Spring
Thymeleaf는 서버사이드 자바 템플릿 엔진으로 HTML 5에 기반한 서버 측 템플릿 엔진입니다. HTML 5의 모든 기능을 지원하며, HTML, XML, JavaScript 및 CSS를 모두 포함할 수 있습니다. 스프링은 대부분 JSP위주로 개발을 하는 경우가 많지만 스프링 부트는 타임리프라는 템플릿 엔진에 특화되어있습니다. Thymeleaf는 MVC 패턴을 지원하며, Spring MVC와 완벽하게 통합됩니다. Thymeleaf는 다음과 같은 특징을 가지고 있습니다. HTML 5를 지원합니다. MVC 패턴을 지원합니다. Spring MVC와 완벽하게 통합됩니다. 빠르고 효율적입니다. 배우기 쉽습니다. 확장성이 뛰어납니다. Thymeleaf는 다음과 같은 용도로 사용될 수 있습니다. Thymeleaf..
· Spring
**스프링부트에서 Query DSL 소개** Query DSL은 JPA를 사용하면서 JPQL을 좀 더 직관적이고 유연하게 사용할 수 있도록 도와주는 도구입니다. Query DSL은 Java의 클래스와 인터페이스를 사용하여 쿼리를 작성할 수 있기 때문에, JPQL을 작성하는 것보다 코드가 더 읽기 쉽고 유지 관리가 쉽습니다. 또한 Query DSL은 JPQL에서 제공하지 않는 다양한 기능을 제공합니다. 예를 들어, Query DSL은 조인, 그룹핑, 서브 쿼리, 페이징, 정렬 등을 지원합니다. 결국 Spring Boot의 맥락에서 Query DSL은 보다 표현력 있고 읽기 쉬운 방식으로 복잡한 쿼리를 작성하는 데 자주 사용됩니다. **Query DSL이란?** Query DSL은 Java의 클래스와 인터페..
· Spring
DB 커넥션 풀(Connection Pool)과 Hikari CP DB 커넥션 풀(Connection Pool) DB 커넥션 풀은 데이터베이스와 연결된 커넥션을 미리 만들어 놓고 이를 pool로 관리하는 것입니다. 즉, 필요할 때마다 커넥션 풀의 커넥션을 이용하고 반환하는 기법입니다. 이처럼 미리 만들어 놓은 커넥션을 이용하면 Connection에 필요한 비용을 줄일 수 있습니다. 따라서 DB에 빠르게 접속할 수 있습니다. 또한 커넥션 풀을 사용하면 커넥션 수를 제한할 수 있어서 과도한 접속으로 인한 서버 자원 고갈을 방지할 수 있습니다. 또한 DB 접속 모듈을 공통화해 DB 서버의 환경이 바뀔 경우 유지보수를 쉽게 할 수 있습니다. Hikari CP Hikari CP는 Java에서 사용할 수 있는 DB..
락곤이
'Spring' 카테고리의 글 목록