일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 자바 #웹자바 #webJava #java #코딩 #코딩초보 #ojdbc #서블릿 #자바서블릿 #javaServelet #servelet #httpServlet
- 방통대 #방송통신대학교 #컴퓨터과학 #컴퓨터과학과 #컴과 #방통대컴퓨터과학과 #방통대컴과 #방통대파이썬 #방통대C #방통대자바
- 자바웹프로그래밍
- 갤러리제작 #갤러리만들기 #jsp갤러리 #jsp게시판 #jsp프로그래밍 #jsp웹프로그래밍 #jsp웹 #jsp모델1방식 #사진업로드 #jsp사진업로드 #jdbc6 #jdbc드라이버다운 #jdbc드라이버무료다운
- spring #스프링 #전자정부표준프레임워크 #표준프레임워크 #자바스프링 #스프링다운로드 #자바스크립트 #웹프로그래밍설정 #웹프로그래밍셋팅
- tern다운로드 #메이븐다운로드 #maven #스프링라이브러리 #자바라이브러리 #톰캣설정 #WAS #웹어플리케이션서버
- Init-param #context-param #
- QUERY #DML #SQL문 #내림차순정렬 #오름차순정렬
- 어노테이션 #@WebServlet #WebServlet #
- ORACLE #TIGER #SCOTT #SCOTT계정 #오라클학습계정 #프로그래밍 #SQL #SQLORACLE #오라클 #오라클연습 #오라클연습계정 #오라클연습문제 #WHERE절 #오라클조건절
- Model #
- 서블릿 #자바모델1 #자바모델2 #mvc #mvc패턴
- java #array #자바 #배열 #프로그래밍 #코딩 #자바프로그래밍
- 기말고사 #방통대기말고사 #방통대후기 #방통대기말고사후기 #방통대2023년1학기 #방통대1학기 #방통대C프로그래밍 #방통대장학금 #방통대영어회화1
- 정처기3회 #정보처리기사2023
- sql #오라클 #불리언형 #boolean #webjava #java #jsp #Mybatis #마이바티스 #마이바티스환경설정 #모델1 #모델1프로그래밍 #Batis #마이바티스다운로드 #web설정 #웹프로그래밍 #게시판 #게시판제작 #게시판만
- View #
- 자바 #웹자바 #JAVA #WEB #WEBJAVA #WEBPROGRAMMING #웹 #웹프로그래밍 #코딩 #CODING #모델1 #모델2 #모델1방식 #모델2방식
- web.xml #배포지시자 #서블릿테스트
- Controller
- 정처기 #정처기필기 #정보처리기사 #정보처리기사필기 #정보처리기사2023 #정처기2023 #정처기3회 #정보처리기사3회 #정보처리기사실기 #정처기실기 정처기합격
- html #자바와서블릿 #자바와웹연결 #웹연결
- 정처기필기합격 #정처기합격후기
- 서블릿선언 #서블릿선언방법 #
- 마이바티스환경설정
- jsp #게시판만들기 #자바로게시판만들기 #웹테스트 #JNDI #myora #Oracle #오라클 #DAO #DTO #아파치톰캣 #웹자바셋팅 #모델1 #모델1방식 #모델1방식웹프로그래밍 #웹프로그래밍
- union #sql99 #외부조인 #오라클조인 #sql조인 #자체조인 #비등가조인 #비등가조인 #테이블복사 #오라클테이블 #null인데이터출력
- Doit #Doit오라클 #Doit시리즈 #연습문제
- 8 실무에서 가장 많이 사용하는 SQL
- cos.jar #cos드라이버 #파일업로드드라이버 #루피는귀여워 #마이바티스 #MyBatis #마이바티스sql #마이바티스DB #마이바티스jsp #마이바티스이클립스 #mapper #config.xml #마이바티스다운로드
- Today
- Total
장미의 개발일기
Spring Framework(스프링 프레임워크 : 필기 + 다운로드 및 환경설정 본문
*반드시 외워야할 개념 : 1. DI (Dependency Injection) 의존성 주입 2. IoC (Inversion of Control) 제어역행 web.xml과 context.xml ~~(자유롭게 이름지음).xml ( 스프링 컨테이너)
웹개발 / 이클립스 EE +톰캣에서 => 스프링프레임워크 + 톰캣 으로 바꿔서 개발하기 준비!
필기 : ---------------------------------------------------------------------------------------------------------------------------------
프레임워크의 개념
프레임워크 뼈대 혹은 틀의 의미를 소프트웨어 관점에서 접근하면 아키텍처에 해당하는 골격 코드이다.
장점)
1. 빠른 구현 시간
- 아키텍처에 해당하는 골격 코드를 프레임워크에서 제공 해준다. 개발자는 비지니스 로직만 구현 하면 된다.
그래서 적은시간에 많은 기능을 구현할 수 있다.
2. 쉬운관리
- 회사마다 같은 프레임워크를 사용하게 된다면 아키텍처가 같으므로 관리가 매우 쉽다.
- 결과적으로 유지보수의 비용이 저렴하다. (표준 프레임워크)
3. 개발자들의 역량 획일화
- 표준 프레임워크 사용으로 숙련 개발자와 초급 개발자간의 업무적인 코드 결과의 갭이 크지 않다.
- 개발자들의 코드 효율
4. 검증된 아키텍처의 재사용과 일관성 유지
- 검증없이 신뢰를 가지고 소프트웨어를 개발하고 , 유지보수 과정에서 왜곡된 개발이 일어날 가능성이 줄어듬.
5. POJO 기반의 프레임 워크
자바 기반의 프레임워크)
Presentation - Struts, Stuts2, SpringMVC 등 : UI Layer 프레임워크 , Struts2는 Filter기반이고 나머지는 Servlet 기반이다.
비지니스 처리 영역: Spring Ioc&DI , AOP : Spring 컨테이너에 동작하는 엔터프라이즈 비지니스 컴포넌트를 개발 할 수 있다.
데이터처리 영역 : Hibernate or JPA , IBatis or MyBatis ORM 프레임 워크 ,데이터 처리 프레임워크
배경)
로드 존슨이 2004에 만든 오픈 소스 프레임워크이다.
EJB를 대신해서 현재까지 가장 인기있는 표준 프레임 워크이다. 전자정부 표준 프레임 워크 기반
특징)
1) 경량 컨테이너 : 스프링은 여러 개의 모듈로 구성이 되어 있으며 각 모듈은 하나 이상의 jar 파일로 구성이 되어 있다.
기본 jar 기준으로 용도에 맞게 얼마든지 추가 확장 할 수 있는 구조이다.
2) 제어 역행 : Ioc & DI
3) 관점지향 프로그래밍 (AOP)
4) 싱글톤 레지스터리가 있어서 스프링 컨테이너에 저장되는 모든 빈들을 기본적으로 싱글톤으로 관리
spring DI(Dependency Injection)란?
■ 의존성(Dependency)
∎ 비즈니스 로직을 수행하기 위해서는 둘 이상의 클래스가 사용되는데, 각 객체는 협업할 객체의 참조를 취득해야할 책임이 있는데, 이것이 의존성이다.
∎ 객체간의 결합도가 높으면 테스트하기 어려운 코드가 만들어진다.
■ 의존성 주입 : 객체들은 객체의 생성 시점에 spring container로부터 의존성을 부여 받게 된다. 즉, 의존하는 객체를 주입받게 된다.
■ 제어역행(IoC : Inversion of Control)
각 객체는 협업할 객체의 참조를 취득해야하는 책임이 있는데, 제어역행은 의존하는 객체를 역행적으로 취득하는 것이다. IoC는 한 객체가 의존성을 가지는 다른 객체의 참조를 취득하는 방법에 대한 책임의 역행이라는 의미를 가지고 있다. IoC를 적용하면 객체들은 어떤 존재에 의해 객체를 생성할 때 의존성을 가지는 객체를 주입받게 된다
∎ org.springframework.context.ApplicationContext
BeanFactory의 기능 외에 자원처리 추상화, 국제화 지원, 이벤트 지원등의 추가 기능을 제공
∙ ClassPathXmlApplicationContext
∙ FileSystemXmlApplicationContext
String configuration = "config/application.xml";
ApplicationContext context = new ClassPathXmlApplicationContext(configration);
|
∙ XmlWebApplicationContext
String[] configuration = new String[]{"config/application.xml", "config/aop.xml"};
ApplicationContext context = new ClassPathXmlApplicationContext(configration);
|
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoadListener
</listener-class>
</listener>
|
WebApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(getServletContext());
|
--------------------------------------------------------------------------------------------------------------------------------------------------------
스프링 다운로드 링크: 전자정부 표준 프레임워크가 4대라서 아래 버전으로 다운을 받았다.
dist.springsource.com/release/STS/index.html
https://dist.springsource.com/release/STS/index.html
Spring Tool Suite 3.9.12 3.9.12.RELEASE (Mrz 12, 2020) Spring Tool Suite 3.9.11 3.9.11.RELEASE (Dez 16, 2019) Spring Tool Suite 3.9.10 3.9.10.RELEASE (Sep 19, 2019) Spring Tool Suite 3.9.9 3.9.9.RELEASE (Jun 18, 2019) Spring Tool Suite 3.9.8 3.9.8.RELEASE
dist.springsource.com
-tern도 다운 ( 자바스크립트 관련 라이브러리)
http://oss.opensagres.fr/tern.repository/1.2.0/
-메이븐 - 라이브러리 다운로드
https://mvnrepository.com/artifact/org.springframework/spring-context/4.3.26.RELEASE
아래 이미지처럼 maven에 해당되는 코드를 복사한 후에 - 스프링 실행 후에 pom.xml란 파일에 붙여 넣는다.
저장을 하는 순간 해당 라이브러리가 자동으로 설치된다.
이외에도
메이븐레지스토리 사이트에서 필요한 라이브러리를 다운받아 pom.xml 에 계속 코드를 붙여넣고 저장하면 된다.
(확인하고 싶으면 라이브러리란 확인)
-WAS : 톰캣 설정하기
스프링프레임워크에서 : 다이나믹 프로젝트 생성 - > 타켓 런타임 설정 후에 다운받았던 톰캣 버전을 클릭
톰캣 설정이 끝난 후에 서버에 톰캣이 생긴다 거기에 있는 server.xml 파일 수정!!
해당 파일에서 connector를 검색해서 찾기= > 아래처럼 인코딩 부분 추가, port는 8080 -> 80으로 바꿔준다
(DB랑 서버충돌 방지)
기타작업
-프로젝트 생성 후 -> 오른쪽 마우스 -> spring-> add spring~~~ 선택
-위와 같이 Spring-> maven 들어간 부분 선택 ( 다운받은 메이븐 라이브러리 활성화)
-configure-> tern 설정 선택 -> 브라우저랑 j 쿼리 전부 선택
이러면 웹 개발할 셋팅 완료
bean 관련 작업: xml 파일 생성시 -> 메이븐 라이브러리 p, context, beans 항상 선택
'개발일기 > JSP 프로그래밍 (Java 웹프로그래밍)' 카테고리의 다른 글
모델2 방식 웹 개발하기 (MVC 패턴) : 회원가입 파트 제작해보기 (0) | 2023.08.12 |
---|---|
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 2 (0) | 2023.06.27 |
JSP 프로그래밍: 모델1 방식의 웹 개발하기(갤러리 만들기) - 1 (0) | 2023.06.27 |
Java와 DB 연결 (JDBC) / MyBatis(마이바티스를 사용하는 이유) (0) | 2023.06.22 |
JSP 프로그래밍 : Servlet 서블릿이란? 서블릿 및 Java 웹 프로그래밍 기초지식 / 내장객체 (0) | 2023.06.22 |