Computer Science (45) 썸네일형 리스트형 [Spring] 스프링 MVC 프로젝트 로딩 구조 스프링 프로젝트 구동 시 관여하는 XML 은 web.xml, root-context.xml, servlet-context.xml 입니다. 이중 web.xml 은 Tomcat 구동 관련 설정이고, 나머지 두 파일은 스프링 관련 설정입니다. 프로젝트 구동은 web.xml 에서 시작합니다. web.xml 파일 맨 위 에는 root-context.xml 의 경로가 설정되어 있고, 에는 스프링 MVC의 ContextLoaderListener 가 등록되어 있습니다. ContextLoaderListener 는 해당 웹 애플리케이션 구동 시 같이 동작하므로 해당 프로젝트를 실행하면 로그를 먼저 출력하며 기록됩니다. ContextLoaderListener가 root-context.xml 을 처리하면 파일안에 있는 빈(b.. [Spring]스프링 프로젝트 파일의 구조 ◎ 스프링 프로젝트의 구조 기본 파일 구조를 알아보겠습니다! 위의 2가지 빨간색 네모 박스의 파일이 스프링 프로젝트를 진행할 때 사용하는 파일들 입니다. src/main/java : 작성되는 코드의 경로src/main/resources : 실행할 때 참고하는 기본 경로(주로 설정 파일들을 넣는다.)src/test/java : 테스트 코드를 넣는 경로src/test/resources : 테스트 관련 설정 파일 보관 경로 servlet-context.xml : 웹과 관련된 스프링 설정 파일root-context.xml : 스프링 설정 파일views 폴더 : 템플릿 프로젝트의 jsp 파일 경로web.xml : Tomcat의 web.xml 파일pom.xml : Maven이 사용하는 pom.xml [Spring]Spring 의 주요 특징 ◎스프링(Spring) 의 주요 특징 ① POJO 기반의 구성② 의존성 주입(DI)을 통한 객체 간의 관계 구성③ AOP(Aspect-Oriented-Programming) 지원 1. POJO(Plain Old Java Object) 기반의 구성 스프링 내부의 객체 관계를 특정한 라이브러리나 컨테이너의 기술에 종속적이지 않고 기존 JAVA 코드를 이용해서 구성할 수 있다.코드 생산성에도 유리하고, 코드에 대한 테스트 작업 역시 더 유연하다. 2. 의존성 주입 (Dependency Injection) 스프링을 얘기하면서 빠지지 않는 이야기, 의존성 주입! 의존성(Dependency) 란?- 하나의 객체가 다른 객체 없이 제대로 된 역할을 할 수 없다는 것을 의미한다.- A 객체가 B 객체 없이 동작이 불가.. [BOJ 14502] 연구소 이 문제는 3개의 벽을 맵에 세우고 바이러스가 퍼졌을 때 안전 구역의 최대 갯수를 구하는 문제이다. 벽은 안전구역에 설치할 수 있고 무조건 3개를 설치한다. 문제 풀이 : 벽을 세울 수 있는 3곳을 모두 만들어 본 뒤 바이러스 지역에서 bfs 를 돌려 바이러스를 퍼뜨리고 그 후에 안전 구역의 갯수를 계산했다. 시간복잡도는 N과 M 이 최대 8이므로 (8 X 8)^3 이다. 여기에 bfs를 돌리므로 8 ^2을 곱하면 8^8 = 2^24 =1677216 이다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747.. [BOJ 14503] 로봇 청소기 시뮬레이션 문제이다. 주어진 조건을 만족하게 로봇을 이동시킨다. 처음에 갈 수 있는 곳이 있는지 확인한 후에 갈 수 있을 때와 없을 때를 나누어 코딩했다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 #include #include using namespace std; int dx[] = {-1,0,1,0}; // up right down left int dy[] = { 0,1,.. [BOJ 14890] 경사로 N X N 크기의 맵에 가로 N개 세로 N 개를 더해서 총 2N 개의 길이 있다. 각 지점에는 숫자가 써 있는데 높이를 나타낸다. 숫자가 같은 곳만 이동할 수 있는데 여기에서 경사로가 주어진다. 길이 L , 높이는 1로 고정되어있다. 경사로의 갯수는 무한하며 이 경사로들을 적절히 활용해 지나갈 수 있는 길의 갯수를 출력한다. 제약조건은 문제에 명시되어 있다. 문제 풀이 : 한 행, 한 열 씩 뜯어서 제약 조건에 위배가 되면 false 를 return 하는 check 함수 만들어 정답을 찾아냈다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636.. [BOJ 14889] 스타트와 링크 N(짝수인 정수)가 주어졌을때 2팀으로 나누어 팀간의 능력치를 최소화하는 문제이다. 문제 풀이 : 팀을 나눌 수 있는 모든 경우를 다 본다음 능력치 차이의 최솟값을 출력했다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include #include #include #include using namespace std;int N;int ans;void solve(vector &map, vector v) { int arr[2] = {0,0}; for (int i = 0; i > N; vector map(N+1, vector(N+1)); for (int i = 1; i map[i][j]; } } vec.. [BOJ 14891] 톱니바퀴 각 톱니바퀴가 맞닿은 부분의 극이 반대라면 회전하고 같으면 회전하지 않는다. 이 때 입력으로 들어오는 모든 회전을 한 뒤 최종 톱니바퀴의 상태에 따라서 점수가 부여되는데 그 점수의 합을 구하는 문제이다. 문제 풀이 : 단순한 구현문제로 입력으로 들어온 회전을 할 때 마다 1,2,3,4 톱니바퀴의 회전방향을 저장한뒤 마지막에 다 돌려주었다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 .. 이전 1 2 3 4 5 6 다음