본문 바로가기

Java , Spring60

스프링 컨테이너와 스프링 빈 스프링 컨테이너 생성 ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); ApplicationContext 를 스프링 컨테이너라 한다. ApplicationContext 는 인터페이스다. 스프링 컨테이너는 XML을 기반으로 만들 수 있고, 애노테이션 기반으로 만들 수 있다. new AnnotationConfigApplicationContext(AppConfig.class); 는 ApplicationContext 인터페이스의 구현체이다. 스프링 컨테이너 생성 과정 1. 스프링 컨테이너 생성 스프링 컨테이너를 생성할 때는 구성 정보를 지정해줘야 한다. 해당 예시에서는 AppConfig.c.. 2023. 3. 22.
[Java] 추상클래스, 인터페이스(abstract class, ) 추상클래스(abstract class) 추상클래스란 하나 이상의 추상 메소드를 포함하는 클래스 추상메서드(abstract method) 메서드가 선언은 되어있지만 구현은 안되어있다. 자식 클래스에서 반드시 오버라이딩을 해야한다. (오버라이딩 - 메서드 이름, 매개변수 타입, 매개변수 개수가 동일) 자식 클래스에서 오버라이딩해서 직접 구현을 해야한다. abstract class Animal { abstract void cry(); } class Cat extends Animal{ @Override void cry() { System.out.println("야옹"); } } class Dog extends Animal{ @Override void cry() { System.out.println("멍멍"); .. 2023. 2. 3.
[Java] 오버라이딩, 오버로딩 (Overriding, Overloading) Overriding(오버라이딩) 부모 클래스로부터 상속받은 메소드를 자식 클래스가 재정의 하는것. 자식 클래스에서 해당 메소드를 변경해서 사용하고싶을때 오버라이딩하는 부모 클래스의 메소드와 이름, 매개변수, 리턴값이 무조건 같아야한다. class Test { void print(){ System.out.println("print Test"); } } class Test2 extends Test{ @Override void print() { System.out.println("print Test 2"); } } Overloading(오버로딩) 메소드의 이름은 같지만, 매개변수의 타입이나 매개변수의 개수가 다른것. public class Test { void print(){ System.out.println.. 2023. 2. 3.
Spring Boot (3) 정적, MVC, API 1. 정적 컨텐츠 localhost:8080/hello-static.html 입력 1. hello-static 컨트롤러 존재 X 2. 컨트롤러가 없으므로 resources:static/hello-static.html 전송 2.MVC와 템플릿 엔진 MVC → Model, View, Controller ※요즘은 Controller와 View를 분류하는것이 기본이다. Controller는 비즈니스 로직, 서버 관련 View는 화면과 관련있는일 Controller @Controller public class HelloController { @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) {.. 2023. 1. 30.
Spring Boot (2) Welcome page 만들기 1. src > resources > static > index.html static page(정적 페이지) Welcome Page 2. controller @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!"); return "hello"; } } resources > templates > hello.html 안녕하세요. 손님 @getMapping("value") → localhost:8080/value 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리한다. 스프링 부.. 2023. 1. 30.
Spring Boot (1) 스프링 부트 시작하기 1. https://start.spring.io/ 접속 2023. 1. 30.