일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- javascript
- dfs
- Union-find
- deque
- GC로그수집
- NIO
- spring boot
- alter
- string
- 스택
- union_find
- priority_queue
- sql
- Calendar
- scanner
- date
- BFS
- Properties
- List
- 힙덤프
- 스프링부트
- JPA
- 큐
- CSS
- html
- map
- 리소스모니터링
- math
- set
- Today
- Total
매일 조금씩
01/22 ! - Maven 웹 프로젝트 만들기, Spring(1) 본문
Maven -> 프로젝트
java - java project
JSP - Dynamic Web Project
=> 라이브러리를 수동 관리
Maven Project (Ant -> Maaven -> Gradle)
maven.apach.org
gradle.org
=> 라이브러리를 자동 관리
@pom.xml
=> 복잡한 조건 컴파일(빌드 : build ) 자동관리
2. Maven 프로젝트 만들기
> ex01
어제와 같이 프로젝트 Maven으로 만들어서
mariadb랑 mybatis 라이브러리 추가한후,
log4j.xml과 myBatisConfig.xml을 다른 프로젝트에서 복사해와서 src/main/java 폴더에 붙여넣기 한다.
myBatisConfig에서 mapper는 없앤다.
App.java를 작성한 후 실행시키면
설정성공은 뜨는데 로그가 안뜬다.
로그가 뜨게 하려면
log4j를 검색해서 가져온 후 pom.xml에 추가하여 라이브러리를 자동 다운로드 받는다.
그럼 로그가 뜬다.
전체적인 프로젝트 구성은 이렇다.
myBatis로 dept 테이블 검색
3. Maven 웹 프로젝트 만들기
> web01
이렇게 만들고 나면 에러가 나있다.
웹프로젝트 만들고 나서 가장먼저 해야할일
-> 서버설정
서버를 모르기때문에 에러가 나 있는데 그걸 해결한다.
전체 파일 구조
Spring
Spring
객체 관리용 프레임워크
=> Spring MVC
1) DI (Dependency Inject : 의존 주입)
객체 생성
new -> spring
2) AOP(Aspect Orientation Programming : 관점 중심 프로그래밍)
spring.io
스프링 프레임워크
Spring의 core
spring tool shuit를 다운받아야
eclipse plug-in-sts 이 플러그인으로 ㄱ져와서
이걸 깔아야 스프링을 제작해서 뭔가를 처리하기에 편리하다.
1. Spring 환경 설정
1) workspace 변경
workspace를 spring-workspace로 바꾼다.
File > Switch Workspace > spring-workspace
프로젝트 설정 다해주고
- General에서 자바 설정 - font, spelling, workspace
- Web에서 웹 설정 - CSS, HTML, JSP
2) sts 설치
Help > Eclipse Marketplace 에서 sts(sprint tool suit) 검색해서 v3 설치
이렇게 한후 나오는 창에서 accept 하고 finish 한다.
그리고 설치중에 어떤창이뜨는데 'install anyway'를 누른다.
설치가 다되면 restart하겟냐는 창이 나온다. restart 하면 된다.
3) Spring 화면으로 변경
다음과 같은 과정으로 Spring 베이스의 화면으로 변경한다.
이렇게 Spring 베이스 화면으로 변경한 후,
프로젝트를 만들기 전에 server를 tomcat 9.0으로 설정해준다.
4) server 를 tomcat 9.0으로 설정하기
2. Spring 프로젝트 만들기
[ Spring 프로젝트 만드는 방법 2가지 ]
2-1. 수동으로 lib 추가해서 Spring 프로젝트 만들기
ftp 에서 Java > Spring > APIs > *.jar 를 모두 가져가서 APIs - Spring 폴더에 저장한다.
2-2. Maven으로 Spring 프로젝트 만들기 (라이브러리 관리 용이)
2-1. 수동으로 lib 추가해서 Spring 프로젝트 만들기
프로젝트를 만들때
bean을 어떻게 사용할건지 써준다.
DI (Dependency Inject : 의존 주입) 방식으로 구현
1) New > Spring Legacy Project 로 Spring 프로젝트를 만들기
이때 Simple Java를 선택해서 만든다.
2) Spring 라이브러리 추가하기
이렇게 전부 Spring 라이브러리를 전부 추가한다.
3) bean 파일 생성후 실행시키기
> SpringEx01
원래는 'basic 패키지' 처럼 동작 했던 것이 new역할을 Spring에게 넘겨줌으로써 'spring 패키지'처럼 동작한다.
이때 new역할을 넘겨주기 위해 new가 생성하는 bean을 대신 만들어주는 spring 파일이 필요하다.
일반 파일과 다르게 Eclipse 에서 Spring Bean Configuration File 이라고 제공하는게 있다. 그걸로 만들면 된다.
파일이름을 적고 우린 bean만 정의할 것이므로 bean만 선택해서 만든다.
이렇게 context.xml 파일을 만든후 다음과 같이 작성한다.
> context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
<bean name="helloBean1" class="spring.HelloBean1" />
<bean id="helloBean2" class="spring.HelloBean1" />
</beans>
main 자바 파일에서 context.xml 의 bean을 가져다쓰기 위해선
ApplicationContext를 반드시 생성해줘야한다.
ApplicationContext ctx = new ClassPathXmlApplicationContext("classpath:spring/context.xml");
호출할땐 bean의 name을 쓸수도 있고 id를 쓸수도있다.
main 의 전체 코드는 다음과 같다.
> ApplicationMin.java
package spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ApplicationMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ctx
= new ClassPathXmlApplicationContext("classpath:spring/context.xml");
HelloBean1 helloBean1 = (HelloBean1)ctx.getBean("helloBean1");
helloBean1.sayHello("박문수");
HelloBean1 helloBean2 = (HelloBean1)ctx.getBean("helloBean2");
helloBean2.sayHello("홍길동");
}
}
> HelloBean1
package spring;
public class HelloBean1 {
public HelloBean1() {
// TODO Auto-generated constructor stub
System.out.println("HelloBean1() 생성자 호출");
}
public void sayHello(String name) {
System.out.println(name + " 님 안녕하세요");
}
}
실행결과는 다음과 같다.
2-2. Maven으로 Spring 프로젝트 만들기
만들기전에 먼저 Maven 프로젝트로 bean configuration File을 사용하여 구현해보도록 한다.
2-2-1. Maven 프로젝트 - bean configuration File 적용
2-2-2. Maven으로 Spring 프로젝트 만들기
2-2-1. Maven 프로젝트 - bean configuration File 적용
1) maven 프로젝트를 internal -> quickstart로 하나만든다.
2) 라이브러리 추가하기 (pom.xml)
한번 다운로드 받으면 그걸 계속 쓴다.
그래서 라이브러리 버전을 변경하고 싶을 때
pom.xml 에서 버전을 고치고 저장하면 라이브러리들이 자동으로 버전이 변경된다.
이렇게 Maven은 버전관리가 유용하다.
3) bean configuration File 구현하기
maven 프로젝트에 만든다.
> spring1 > com.exam.spring1
bean 구현
> spring1 > com.exam.spring2
클래스 여러개만들어서 여러개 bean 구현
> spring1 > com.exam.spring3
클래스 여러개만들고 인터페이스 만들어서 다형성을 활용한 bean 구현
- ApplicationContext - 자동 종료
- GenericXmlApplicationContext - 수동 종료(close()필요)
> spring1 > com.exam.spring4
객체 생성 방법
- prototype - 객체 변수 계속 만들어감
- singleton - 한번 만들어진 객체를 지속적으로 사용 대표적인걸로 static 이 있음 (default
> spring2 > com.exam.spring2
다양한 생성자를 통한 호출
Spring에서 가장 중요한건 new를 Spring에 맡기는 거다. 그방법을 DI라고 한다.
> spring2 > com.exam.spring3
사용자 정의 클래스는 어떻게 호출할까
> spring2 > com.exam.spring4
사용자 정의 클래스와 setter와 getter를 통해 어떻게 값을 가져오면 될까
2-2-2. Maven 으로 Spring 프로젝트 만들기
전자정부 프레임워크에선 에러가 안생기는데
이클립스 버전이 올라가면서 에러가 생긴다.
1) Spring 프로젝트를 하나만든다.