728x90
반응형

분류 전체보기 145

의존성 주입 어노테이션 정리

@Resource, @Autowired, @Inject 차이점 정리 세 개의 어노테이션은 컨테이너에 생성된 빈(Bean) 객체를 자동으로 주입받을 수 있도록 해주는 어노테이션들이다. 주의할 점은 Bean 객체가 생성될 때 어노테이션을 스캔해서 자동 주입해준다. 일반적인 방법으로 해당 클래스의 instance를 new해서 생성하면 어노테이션은 작동하지 않는다. 그냥 Bean 설정 파일에서 하나하나 ref="다른bean" 을 생략할수 있다. 설정파일에서 Bean을 등록하지 않고 어노테이션을 통해(@Bean) 등록할 수도 있는데 원리는 같다. @Resource Java에서 지원하는 어노테이션이며 특정 프레임워크에 종속적이지 않다. 순서는 아래와 같다. 이름 > 타입 > @Qualifier > 성공 name 속..

Spring 2022.08.03

[Java] 디자인패턴 - 싱글톤 패턴

싱글톤패턴(Singleton Pattern) 싱글톤패턴 애플리케이션이 시작될 때 어떤 클래스가 최초 한번만 메모리를 할당하고 그 메모리에 인스턴스를 만들어 사용하는 디자인패턴이다. 생성자가 여러번 호출이 되더라도 실제로 생성되는 객체는 하나뿐이고, 최초로 생성된 이후에 호출된 생성자는 생성된 최초 객체를 반환한다. 그래서 생성자를 private로 선언하여 getInstance()로 받아서 사용한다. 싱글톤 패턴은 단 하나의 인스턴스를 생성해 사용하는 디자인 패턴이다. 이말은 인스턴스가 필요할 때마다 똑같은 인스턴스를 new해서 생성하는 것이 아닌 기존에 존재하는 인스턴스를 사용하게 하는것이다. 싱글톤패턴을 사용하는 이유 고정된 메모리 영역을 얻으면서 한번의 new로 인스턴스를 사용하기 때문에 메모리 낭비..

Java 2022.08.03

Spring Test MockMvc 한글 깨짐 처리

Spring Test MockMvc의 한글 깨짐 처리 스프링에서 테스트 코드를 작성할 때 MockMvc를 흔히 사용한다. 대략 아래와 같이 설정하고 사용한다. 변경일자 2022-04-19 수정 MockMvc를 보통 테스트코드를 작성할 때 사용할텐데, @WebMvcTest를 사용해서 mvc를 위한 테스트를 만들 수 있다. //@SpringBootTest @WebMvcTest(ApiController.class) public class ApiControllerTest { private MockMvc mockMvc; @Autowired private WebApplicationContext ctx; @BeforeEach public void setup() { this.mockMvc = MockMvcBuilder..

Spring 2022.08.03

CallByValue, CallByReference 비교

Call By Value(값에 의한 호출) call by value 는 가장 일반적인 함수 호출형태로 값을 복사하는 것이다. 예시 public class CallByValue{ public static void swap(int x, int y){ int temp = x; x = y; y = temp; } public static void main(String[] args){ int a = 10; int b = 20; System.out.println("swap() 호출 전 : a = " + a + ", b = " + b); swap(a, b); System.out.println("swap() 호출 후 : a = " + a + ", b = " + b); } } 결과는 아래와 같다 swap() 호출 전 : ..

Java 2022.08.03

WAS

WAS(Web Application Server) 1. WAS란? 웹 브라우저와 같은 클라이언트로부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹 서버로 다시 반환해주는 소프트웨어 웹 서버와 DBMS 사이에서 동작하는 미들웨어로서 컨테이너 기반으로 동작한다. 2. WEB서버와 WAS의 동작 과정 3. WEB 서버와 WAS의 차이점 요청을 받아 처리하는 컨텐츠의 차이 웹서버의 경우 : 정적인 컨텐츠(HTML, CSS, IMAGE 등)을 요청받아 처리 WAS의 경우 동적인 컨텐츠(JSP, ASP, PHP 등)를 요청받아 처리 4. WEB서버와 WAS를 나눠야하는 이유 WAS의 경우 웹서버 + 웹 컨테이너의 개념이라 웹 서버가 없더라도 웹 서버의 역할을 동시에 수행이 가능하다. 그래서 웹 ..

카테고리 없음 2022.08.03
728x90
반응형