Spring

728x90
· Spring
Spring Boot는 보안 및 인증을 위한 다양한 기능을 제공하여 안전한 웹 애플리케이션을 개발할 수 있습니다. 이 글에서는 Spring Security를 이용한 보안 구현 방법과 주요 기능을 소개하고, 간단한 예제를 통해 보안 및 인증 기능을 구현하는 방법을 살펴보겠습니다. Spring Security 소개: Spring Security는 Spring 기반의 보안 프레임워크로, 웹 애플리케이션의 인증(Authentication)과 권한 부여(Authorization)를 처리합니다. Spring Boot에서는 Spring Security를 간편하게 설정할 수 있습니다. Spring Security 설정: Spring Boot 프로젝트에 Spring Security를 사용하기 위해 의존성을 추가하고, 설..
· Spring
Spring Boot는 데이터베이스와의 통합을 간편하게 할 수 있는 다양한 기능을 제공합니다. 이 글에서는 Spring Boot에서 데이터베이스를 연동하는 방법과 주요 기능을 알아보고, 간단한 예제를 통해 데이터베이스 액세스를 구현하는 방법을 살펴보겠습니다. 데이터베이스 연동 방법: Spring Boot에서는 다양한 데이터베이스와의 연동을 지원합니다. JDBC, JPA, Spring Data JPA, MyBatis 등의 기술을 활용하여 데이터베이스 액세스를 구현할 수 있습니다. JPA(Java Persistence API)와 Hibernate: JPA는 자바 표준 인터페이스로, ORM(Object-Relational Mapping) 기술을 제공합니다. Hibernate는 JPA의 구현체 중 하나로, 객체..
· Spring
Spring Boot에서는 AOP(Aspect-Oriented Programming)을 통해 공통 관심 사항을 모듈화하여 코드의 재사용성과 유지보수성을 향상시킬 수 있습니다. 이 글에서는 Spring Boot에서 AOP의 개념과 활용 방법을 알아보고, 실제 예제를 통해 AOP를 구현하는 방법을 살펴보겠습니다. AOP(Aspect-Oriented Programming)란? AOP는 관점 지향 프로그래밍의 약자로, 공통 관심 사항을 여러 모듈에 분리하여 관리하는 프로그래밍 패러다임입니다. Spring Boot에서는 AOP를 통해 핵심 비즈니스 로직과 분리된 관점(Aspect)을 적용할 수 있습니다. AOP 주요 용어: Aspect(관점): 공통 관심 사항을 의미하며, Advice와 Pointcut을 포함합니..
· Spring
spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 웹서버 spring-webmvc: 스프링 웹 mvc spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View) spring-boot-starter(공통): 스프링 부트+ 스프링 코어 +로깅 spring-boot spring-core spring-boot-starter-logging logback,slf4j spring-boot-starter-test junit: 테스트 프레임워크 mockito: 목 라이브러리 assertj: 테스트 코드를 좀 더 편하게 작성하게 도와주는 라이브러리 spring-test: 스프링 통합 테스트 지원 spring-boot-devtools: 서버 재시작..
· Spring
@Autowired Annotaion? 스프링 DI(Dependency Injection)에서 사용되는 어노테이션이다. 스프링에서 빈 인스턴스가 생성된 이후 @Autowired를 설정한 메서드가 자동으로 호출되고, 인스턴스가 자동으로 주입된다. @Autowired 는 변수, Setter메서드, 생성자, 일반 메서드에 적용이 가능하다. DI(Dependency Injection)? 클래스간의 의존관계를 스프링 컨테이너가 자동으로 연결해주는 것 의존성 주입 -> 위의 사진에서와 같이 sevice 클래스를 controller 에 주입함으로서 controller에서 service를 호출 시켜 사용한다.
· Spring
싱글톤을 사용하는 이유? 만약 수십~ 수백만건의 요청이 발생하는 서비스에서 기존에 요청마다 인스턴스를 만드는 멀티톤 방식대로 동작하게 둔다면, 초당 생성되는 컨테이너 객체수를 메모리가 견디지 못하고(OOM 발생) 서비스는 큰 장애를 발생시키고 먹통이되고 말것이다. 그러므로 단일 인스턴스를 가지는 싱글톤 패턴을 적용해야한다. 싱글톤 패턴으로 구현하는 경우, 효율적인 메모리 사용이 가능하다. 하지만 공유자원을 동시접근 하는 경우, 동시성 문제가 발생할 수 있기 때문에 이를 유의해서 설계해야만 한다. 순수 java 코드로 싱글톤 패턴을 적용하기에는 실질적인 문제점들이 존재합니다. 싱글톤 패턴을 구현하기 위한 코드가 늘어남 인스턴스를 반환해주는 구현 클래스를 직접 참조해야 하므로 DIP를 위반한다. (OCP 원..
· Spring
Spring Framework에서 사용할 수 있는 주석(annotation)에는 다음과 같은 것들이 있습니다 @Component 어노테이션은 Spring Framework에서 사용되는 어노테이션입니다. @Component 어노테이션은 기본적으로 스프링 빈(Bean)이라는 개념에 대한 어노테이션입니다. 스프링 빈은 스프링 컨테이너(Spring Container)에 의해 관리되는 객체입니다. 스프링 컨테이너는 스프링 빈을 생성, 관리하며, 스프링 빈을 주입(Injection)하여 의존성 관계를 관리합니다.@Component 어노테이션을 사용하면, 스프링 빈으로 인식할 수 있도록 할 수 있습니다. @Repository 어노테이션은 Spring Framework에서 사용되는 어노테이션입니다. @Repositor..
· Spring
Spring Security? Spring Security는 Java 애플리케이션에서 인증(authentication)과 권한 부여(authorization)을 제공하는 프레임워크입니다. 이 프레임워크는 애플리케이션에서 사용자의 인증 정보를 검사하고, 권한에 따라 접근을 제어할 수 있도록 해줍니다. Spring Security는 민감한 정보를 보호하고 CSRF(Cross-Site Request Forgery) 및 SQL 주입 공격과 같은 일반적인 보안 위협으로부터 보호하는 기능뿐만 아니라 인증, 권한 부여 및 액세스 제어를 포함한 광범위한 보안 기능을 제공합니다. Spring Security를 ​​사용하면 특정 URL 패턴, 메서드 호출 또는 개별 웹 페이지에 대한 보안 규칙을 정의하여 애플리케이션을 쉽..
728x90
酒인장
'Spring' 카테고리의 글 목록 (3 Page)