Bean이란?
2021. 7. 28. 20:29
프로그래밍/Spring
Spring과 Bean Spring에서는 Spring Container, IoC Container라는 개념이 있음 Container는 인스턴스의 생명주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 제공하도록 함 즉 Container는 개발자가 작성한 코드의 처리과정을 위임받은 독립적인 존재 Container는 적절한 설정만 되어있다면 누구의 도움 없이도 작성한 코드를 스스로 참조한 뒤 알아서 객체의 생성과 소멸을 컨트롤해 줌 Spring Container는 Spring Framework의 핵심부에 위치하며, 종속 객체 주입을 이용하여 Application을 구성하는 Component들을 관리함 이때 Spring Container에서 생성되는 객체를 Bean이라고 함 Bean Bean은 Spring..
스프링 특징
2021. 6. 11. 20:00
면접 준비/기술 면접
1️⃣ 제어 반전, IoC (Inversion of Control)를 지원함. (예시가 DI) 컨트롤의 제어권이 개발자가 아니라 프레임워크에 있음 객체의 생성부터 모든 생명주기의 관리까지 객체의 제어권이 바뀐 것을 의미함 객체를 생성하고, 직접 호출하는 자바프로그램이 아니라, 만들어둔 자원을 프레임워크에서 호출해서 사용함 2️⃣ 의존성 주입, DI (Dependency Injection) 를 지원함. @Autowired 등 객체간의 의존관계를 관리하는 기술 어떤 객체가 필요로 하는 객체를 자기 자신이 직접 생성하는 것이 아니라, 외부에 있는 다른곳에서 자신이 필요로 하는 객체를 주입받는 것 3️⃣ POJO (Plain Old Java Object) 방식의 프레임워크 일반적인 J2EE 프레임워크에 비해 특..
11.02(파일 다운받기, ajax, jsonView 관련 의존)
2020. 11. 2. 20:24
프로그래밍/Spring
파일 다운받는 방법 1. 업무로직 : attachment_no를 통해 originalFileName, renamedFileName 가져오기 2. 파일다운로드 3. 응답헤더 작성 return resource;를 하면 (이전에는 String과 ModelAndView만 리턴했음) 헷갈릴 수 있기에 쉽게 구분할 수 있도록 메소드 레벨에 @ResponseBody를 적어줌(jsp를 가지 않고 body영역에 직접 써짐!) @ResponseBody 이 메소드의 리턴값을 응답메세지의 바디 영역에 직접 쓰기할 것(jsp를 쓰지 않고 바로 씀) Resource는 모든 자식클래스를 Resource상위타입으로 제어 가능 자식이 뭐든지 간에 사용시에 getResource한다음 리턴해버리면 됨! ajax 스프링에서 json처리하는..
10.21(query & resultset logging)
2020. 10. 21. 22:18
프로그래밍/Spring
1. query & resultset logging Log4Jdbc Remix » 0.2.7 검색하여 메이븐에 작성할 의존 라이브러리 명세를 복사 (https://mvnrepository.com/artifact/org.lazyluke/log4jdbc-remix/0.2.7) > pom.xml에 붙여넣기 2. log4jdbc ProxyDatasource 빈 설정 그 이후 데이터 소스 수정이 필요함 > spring\application-context.xml 실제 데이터 소스가 있고, 데이터 소스인척을 해서 형식같은걸 지정해서 대신 sqlSessionFactory로 전달되고 날아가는 쿼리등을 찍어줌 3. log4jdbc logger 등록
10.08(스프링 인코딩 필터 설정 & 파라미터)
2020. 10. 8. 20:31
프로그래밍/Spring
Controller는 Service에 의존함(서비스가 없으면 다음 일처리를 못하니까) Service는 Dao에 의존함 bean으로 관리되고 있는 객체는 그냥 달라고 요청하면 됨(new 어쩌구 필요 X) -> @Autowired @Autowired 타입으로 요청 의존객체 주입 Dependency Injection Bean으로 관리되고 있는 DemoService타입 객체를 사용시점에 주입받음 예시> @Autowired private DemoService demoService; //컨트롤러의 핸들러 메소드 하나가 사용자 요청 하나를 처리함 @RequestMapping("/demo/devForm.do") public String devForm() { System.out.println("/demo/devForm...
10.07(servlet-context설정)
2020. 10. 7. 20:23
프로그래밍/Spring
servlet-context의 태그(선언)들 살펴보기 예시 네임스페이스없이 사용한애들은 mcv가 생략되어 있다고 생각하면됨(servlet-context의 기본 nameSpace) 1. @Controller @Servlet @Repository(dao는 없음) 설정들을 지정(어떤 역할을 해야할지 정함) 2. 정적파일에 대한 요청은 mvc패턴이 아닌 실제 resources 하위에서 조회 3. ViewResolver InternalResourceViewResolver(기본값) : 실제 사용자한테 전달할 응답관련 처리 담당할 bean 리턴되는 문자열을 가지고 앞에 /WEB-INF/views/를 붙이고 뒤에 .jsp를 붙여줌 4. bean으로 등록하는 방법 1. bean태그 이용해서 등록 2. Component ..
10.06(spring version-up & application-context 설정)
2020. 10. 6. 21:59
프로그래밍/Spring
src/main/webapp : 웹 루트 경로 src/main/webapp/resources : 정적파일들 넣는 위치 taglib는 jsp페이지마다 써주기! (합쳐지든 말든 다 쓰기) 반복해서 사용할 부분 템플릿으로 만들어 두기 1. 반복적으로 사용할 부분 복사 2. Window > Preferences >Web >JSP Files >Editor > Templates > New... > Name : 템플릿명 적기 / Context : New JSP***(이렇게 설정해줘야 New를 할때 보임) / Pattern : 복사내용 붙여넣기(수정되는 부분 비워두고 변수처리) > apply 스프링 설정파일 1. pom.xml : maven 설정 파일 2. WEB-INF 밑에 web.xml (배포서술자) : was가 ..