본문 바로가기

spring27

스프링 기초 DI 예제2 스프링 기초 DI 예제2 코드의 변경 없이 xml의 설정만으로 개발자가 원하는 객체의 주입으로 바꿀 수 있음. [의존성 주입 종류] setter(설정 메소드)를 이용한 주입 : 설정 메소드를 사용해서 의존성을 주입하는 것 Constructor(생성자)를 통한 주입 : 생성자를 사용해서 의존성을 주입하는 것 [의존성 주입(DI)의 장점] DI를 사용하면 개발 계획시에 시간이 요구가 되지만, 규모가 큰 프로젝트에서 유지보수 업무를 한다면 DI 개발의 장점을 느낄 수 있다. 예제1) 예제2) 2018. 7. 16.
스프링 기초 DI 예제1 스프링 기초 DI 예제1 스프링 프레임워크 특징 1 * 먼저 스프링 프레임워크는 자바언어를 기반으로 한 어플리케이션을 만들때 효율적으로 빠르게 제작할 수 있도록 하는 프로그래밍 툴이다.* 스프링은 자바의 객체를 담고 있는 컨테이너다.* 객체의 생성, 소멸과 같은 생명주기를 관리한다.* DI(의존성 주입패턴)을 지원한다.* AOP, 트랜잭션이나, 로깅, 보안과 같은 엔터프라이즈 어플리케이션에서 공통으로 필요로 하는 기능을 분리해서 각모듈에 적용할 수 있도록 하는 기능을 제공한다.* 스프링은 POJO를 지원한다. 즉 특정 인터페이스나 클래스를 상속받지 않는 순수한 자바 객체를 스프링 컨테이너가 저장하고 있다.* 트랜잭션 처리를 위한 일관된 방식을 제공한다.* 영속성과 관련된 다양한 API를 제공한다.* My.. 2018. 7. 16.
31.스프링프로젝트 - 조회 view.jsp 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 COMMUNITY 게시판 번호 이름 제목 날짜 조회 첨부파일 다운로드 ${row.idx } $.. 2016. 11. 21.
30.스프링프로젝트 - 답변 maper1234567891011121314151617181920212223242526272829-- list - det gul select idx, b.userid,name,subject,hit,post_date,filename,filesize, (select count(*) from board_comment where board_idx=b.idx) comment_count,b.ref,b.reorder,b.depthfrom board b,member m where b.userid=m.userid order by b.ref desc, b.reorder asc limit 0,10; update board set reorder=reorder+1where ref=1and reorder > 0; insert i.. 2016. 11. 21.
29.spring- detgul * 컨트롤러를 @RestController로 선언* 컨트롤러의 method를 @ResponseBody 로 선언@RestController // 스프링 4.0 이후 사용 가능public class FileController {@InjectBoardDao boardDao;@ResponseBody@RequestMapping("board/board_ajax_list.do")public List boardList(){List list=boardDao.getBoardList(1,10);return list;}}* pom.xml에 라이브러리 추가 com.fasterxml.jackson.core jackson-databind 2.5.0 CONTENT FROM:http://edu.lifesoft.org/board/sho.. 2016. 11. 18.
28.spring - hitup 1.controller 1234567891011121314151617 @RequestMapping("board/view.do") public String view(@RequestParam int idx, Model model) throws Exception { boardService.hitUp(idx); BoardDTO dto = boardService.boardView(idx); model.addAttribute("dto", dto); return "board/view"; } Colored by Color Scriptercs 2.service, dao 1234567891011121314151617181920212223242526272829@Override public BoardDTO boardView(.. 2016. 11. 18.
27.springproject - log * 로깅툴을 사용하는 이유 - System.out.println() 명령어는 IO 리소스를 많이 사용하여 시스템이 느려질 수 있음 - 로그를 파일로 저장하여 분석할 필요가 있음 * 로깅툴의 종류 - commons-logging : 스프링 3에서 사용하던 로깅툴 - log4j : 효율적인 메모리 관리로 그동안 많이 사용되었음 - logback : log4j 보다 성능이 더 우수하여 최근에 많이 사용되고 있음 * SLF4J : logback을 사용하기 위한 인터페이스 from : http://edu.lifesoft.org/board/show.aspx?category=spring&idx=379&page=0 1234567891011121314151617181920212223242526272829303132333.. 2016. 11. 18.
26.스프링프로젝트 - 페이징 처리 1. list page 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 COMMUNITY 게시판 번호 이름 제목 날짜 조회 첨부파일 다운로드 ${row.idx.. 2016. 11. 17.
25.스프링프로젝트 - aop AOP ( Aspect Oriented Programming , 관점(관심) 지향적인 프로그래밍 ) - OOP(Object Oriented Programming, 객체지향프로그래밍)를 보완하는 확장적인 개념 - Aspect(측면, 관점, 관심) : 핵심적인 비즈니스 로직은 아니지만 반드시 해야 하는 작업들 - 관심의 분리(Separation of Concerns)를 통해 핵심관점(업무로직) + 횡단관점(트랜잭션,로그,보안, 인증 처리 등)으로 관심의 분리를 실현- 장점 : 중복되는 코드 제거, 효율적인 유지 보수, 높은 생산성, 재활용성 극대화, 변화 수용의 용이성 * AOP의 주요 용어 - Aspect : 공통 관심사(로깅, 보안, 트랜잭션 등) - Join Points : method를 호출하는 시점.. 2016. 11. 17.
24.스프링프로젝트 - download 1.page 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150//page COMMUNITY 게시판 번호 이름 제목 날짜 조회 첨부파일 다운로드 ${r.. 2016. 11. 17.
23.스프링프로젝트 - board write logincheck page include 1234567891011121314151617 alert("로그인 하신 후 사용하시기 바랍니다."); location.href="${path}/member/login"; Colored by Color Scriptercs 1. write page 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 COMMUNITY 글쓰기 제목 내용 //textarea의 id값과 일치해야함//textarea의 id값과 일치해야함 CKEDITOR.replace('content',{ filebrows.. 2016. 11. 17.
22.spring board list 1.boardDTO 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165.. 2016. 11. 17.
20.스프링프로젝트 - 스프링 마이바티스 mysql 연동 1. mysql 테이블생성 1234567891011121314151617181920212223 -- 데이터베이스 생성CREATE DATABASE java; -- 데이터 베이스 목록 확인SHOW DATABASES; --데이터베이스 선택USE java; -- 한줄 메모장 테이블-- auto_increment 일련번호 증가-- primary key : 기본키-- varchar 가변사이즈 문자열create table memo(idx int not null auto_increment primary key,writer varchar(50) not null,memo varchar(1000) not null,post_date datetime not null);Colored by Color Scriptercs 2pom... 2016. 11. 16.
19.스프링프로젝트 - 화면이동 redirect 화면이동 redirect 2016. 11. 1.
18.스프링프로젝트 - 메뉴바(구버전) 방명록 조회 수정 삭제 - 방명록 테이블 0. 방명록 DTO 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162package com.example.web03.model.guestbook.dto; import java.sql.Date; public class GuestbookDTO { private int idx; private String name; private String email; private String passwd; private String content; private Date post_date; public String getEmail() { return .. 2016. 11. 1.
15.스프링프로젝트 - 맴버 수정 삭제 1. 수정 컨트롤러 1234567891011121314151617181920212223242526//아이디 비번 확인후 수정 @RequestMapping("member/memberUpdate") public String memberUpdate(@ModelAttribute MemberVO vo, Model model) { //아이디 비밀번호 맞는지 체크 boolean result = memberDao.pwdCheck(vo.getUserid(), vo.getUserpw()); if (result) { //아이디 비번이 맞을때 memberDao.updateInfo(vo); //redirect => 서블릿 (컨트롤러) 호출 // redirect 없으면 바로 jsp 페이지로 이동 // /member => 루트 디.. 2016. 11. 1.
13.스프링프로젝트 - 맴버상세&수정&삭제 1 1. 맴버 상세 페이지 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Insert title here $(document).ready(function() { //수정 버튼 클릭했을때 $("#btnUpdate").click(function() { document.form1.action = "/web03/member/memberUpdate"; document.form1.submit(); }); //삭제버튼 클릭 $("#btnDelete").click(function() { //confirm() 확인 => true, 취소는 = false if (confirm("삭제하시겠.. 2016. 11. 1.
12.스프링프로젝트 - 맴버리스트 코드 0. 맴버 리스트 페이지 1234567891011121314151617181920212223242526272829303132333435363738394041 Insert title here 회원목록 아이디 이름 이메일 회원가입일자 ${row.userid} ${row.username} ${row.email} ${row.regdate} Colored by Color Scriptercs 1. 맴버 리스트 컨트롤러 123456 @RequestMapping("member/memberList") public void memberList(Model model) { model.addAttribute("list", memberDao.memberList()); //void 라고 하면 위의 requestmapping에 입력.. 2016. 11. 1.
11.스프링 프로젝트 - 맴버 insert 상세코드 1. 로그인/회원가입 폼 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 Login&Join Mana 로그인 회원가입 Your email Your password Remember me Forgot your password? Your name Your email Your password Terms and conditions var a="${message}";if(a.length>1){ $(window).loa.. 2016. 11. 1.
10.스프링프로젝트 - 회원추가 코드 스프링 프로젝트 회원추가 코드 2016. 10. 31.
9.스프링프로젝트 - 인터페이스 개념 인터페이스 개념 2016. 10. 31.
7.스프링프로젝트 - 스프링 오라클 연동하기 스프링 오라클 연동하기 2016. 10. 31.
6.스프링프로젝트 - 환경설정4 java jdk 버젼 설정 : 1.6-> 1.8로 수정 java build path-libraryjava compilerproject facets pom.xml에서 스프링 버젼을 4.3.0 이나 4. 대로 변경 2016. 10. 31.
5.스프링프로젝트 - 메이븐으로 jar파일 추가하기 메이븐으로 jar파일 추가하기 메이븐리파짓토리 페이지에서 검색창에 필요한 jar파일을 입력한다아래의 dependency 소스를 복사해서 pom.xml 에 붙여준다. 2016. 10. 31.
3.스프링프로젝트 - 환경설정3 서버가 구동되면 web.xml 이 제일 먼저 실행된다. 스프링 구동되면 web.xml (배치 기술서)가 먼저 실행된다.(스프링 컨테이너 생성) root-context.xml , 안의 스프링 프레임워크가 올라간다. 스프링의 환경설정 파일 로딩 그후 안의 내용이 실행된다. contextConfigLocation/WEB-INF/spring/appServlet/servlet-context.xml appServlet/ "/" 로 들어오는 모든 주소는 스프링의 " dispatcherServlet"이 처리한다. do* 라고 적으면 do* 로 끝나는 모든 주소를 스프링이 처리하게 된다.(모든 요청에 대해서 스프링 서블릿이 처리) ==================================================.. 2016. 10. 31.
2.스프링프로젝트 - 환경설정2 메이븐 라이브러리 : 사용자/.m2 디렉토리 확인 - jdk 버전 수정 : Project Facets, Java compiler 버전 확인 - spring 버전 변경 : pom.xml 수정 - 현재 스프링의 최신버전은 4.3.3 이지만 다른 라이브러리들과의 호환성을 고려하여 4.3.0 으로 진행함 - 에러가 발생할 경우 3.1.1로 설정 - 톰캣 9.0으로 변경하여 실행 - home.jsp 페이지의 한글이 깨짐, 페이지 지시어와 meta tag 수정 - 설정파일 복사 : 1. pom.xml 2. resources 디렉토리 3. WEB-INF 디렉토리 * 스프링의 설정 파일 - src/main/webapp/WEB-INF/spring/root-context.xml - 서블릿과 관련되지 않은 모든 리소스에 대.. 2016. 10. 28.
1.스프링프로젝트 - 환경설정1 - 스프링에서는 라이브러리를 메이븐이 관리해준다. - Pom.xml 의 에 새로운 jar파일 라이브러리들을 넣어준다.(스프링이 직접 라이브러리 관리한다.) - src 는 웹경로다 - classes 컴파일된 파일들 - spring에는 스프링 설정파일들이 들어간다. - views에는 jsp 파일들이 들어간다. - 포트번호가 충돌날경우 server.xml에 들어가서 port번호 수정해준다. - 처음에 샘플로 만든 home.jsp 파일에서는 한글이 깨질수 있다. - 그래서 새로만들기 한다음 위의 언어 설정 태그를 삽입시켜 준다. - jsp 파일을 서버에 올려 바로 실행할경우 오류난다.(404에러) - webapp에서는 외부에서 실행된다. - wep-inf안에 있는 것은 외부에서 바로 실행 안된다. - jsp 파.. 2016. 10. 28.