반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ STS 4 for Eclipse

    ˙ JDK 15.0.1

 

2. 목적

    ˙ STS에서 기본적으로 포함된 JRE를 제거하고, 설치된 JDK 버전을 이용하여 개발환경을 구성한다.

 

3. 적용

    ① "Window" → "Preferences" 메뉴를 클릭한다.

Preference 클릭

 

    ② "JAVA" → "Installed JREs" 속성창을 보면 STS는 기본적으로 jre를 포함한 것을 확인할 수 있다.

        - 포함된 jre 선택 후 "Remove" 버튼을 클릭하여 설정에서 제거한다.
        - 설치된 JDK를 적용하기 위해 "Add..." 버튼을 클릭한다.

JRE 속성창

 

    ③ "Standard VM" 클릭 후 "Next >" 버튼을 클릭한다.

Add JRE 창

 

    ④ "Directory..." 버튼을 클릭하여 추가하려는 JDK가 설치된 폴더를 지정한다.

JDK 폴더 지정

 

    ⑤ 설정한 JDK 폴더를 체크 확인하고, "Apply and Close" 버튼을 클릭한다.

jdk 추가 적용

 

4. 결과

    ˙ 프로젝트에서 JDK 버전을 변경할 수 있다.

 

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ STS(Spring Tool Suite) 4 for Eclipse

 

2. 목적

    ˙ STS 4를 다운받고 설치한다.

    ˙ STS 4를 실행한다.

 

3. 적용

    ① 스프링 웹사이트에 접속하여 STS를 다운 받는다.

        - URL : https://spring.io/tools 

 

Spring Tools 4 is the next generation of Spring tooling

Largely rebuilt from scratch, Spring Tools 4 provides world-class support for developing Spring-based enterprise applications, whether you prefer Eclipse, Visual Studio Code, or Theia IDE.

spring.io

스프링 웹사이트

 

    ② 다운로드가 완료되면 확장자가 jar인 파일을 확인할 수 있다.

 

    ③ 다운 받은 파일을 더블클릭하면 자동 압축 해제된다.

 

    ④ "SpringToolSuite4.exe"를 실행한다.

 

    ⑤ Workspace를 지정하고 "Launch" 버튼을 클릭한다.

워크스페이스 지정

 

4. 결과

    ˙ STS가 정상 동작하는 것을 확인한다.

STS IDE 실행 완료

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ intelliJ IDEA 2021.3.1 (Community Edition)

    ˙ spring initializer (Gradle)

        - 참고) https://languagestory.tistory.com/136

 

SpringBoot 프로젝트 생성 및 MySQL 연동 설정

1. 시험환경 ˙ 윈도우 10 ˙ MySQL 8.0 Win x64 ˙ intelliJ IDEA 2021.3.1 (Community Edition) ˙ spring initializer (Gradle) 2. 목적 ˙ spring initializer(https://start.spring.io)를 통해서 Spring Boot..

languagestory.tistory.com

 

2. 목적

    ˙ spring.jpa.show-sql와 spring.jpa.properties.hibernate.format_sql 설정으로 SQL 로그를 출력한다.

    ˙ @Entity 컴포넌트 및 spring.jpa.hibernate.ddl-auto 설정에 의해 "Table 자동" 생성한다.

    ˙ data.sql 및 spring.datasource.initialization-mode와 spring.jpa.defer-datasource-initialization 설정에

         의해  data를 자동 import한다.

 

3. 적용

    ① application.properties 설정값

1
2
3
4
5
6
7
8
9
10
11
# MySQL
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/sample
spring.datasource.username=root
spring.datasource.password=1q2w3e
 
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=create-drop
spring.datasource.initialization-mode=always
spring.jpa.defer-datasource-initialization=true
cs

 

    ② SQL 쿼리 로그 출력 설정

        - spring.jpa.show-sql=true : Runtime 콘솔 화면에 SQL 쿼리문을 나타낸다.
        - spring.jpa.properties.hibernate.format_sql=true : Runtime 콘솔 화면에 나타나는 SQL 쿼리문을 pretty하게 나타낸다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2022-02-23 17:50:03.079  INFO 17388 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2022-02-23 17:50:03.346  INFO 17388 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2022-02-23 17:50:03.377  INFO 17388 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
Hibernate: 
    
    drop table if exists world
Hibernate: 
    
    create table world (
       id bigint not null auto_increment,
        lang varchar(255),
        money varchar(255),
        nation varchar(255),
        population integer not null,
        primary key (id)
    ) engine=InnoDB
2022-02-23 17:50:04.051  INFO 17388 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2022-02-23 17:50:04.051  INFO 17388 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
cs

 

    ③ @Entity 컴포넌트를 스캔하여, 서버 실행 시 Table "자동 생성" 및 서버 종료 시 Table "자동 삭제"한다.

        - spring.jpa.hibernate.ddl-auto=create-drop

        - 설정값에 따라 생성, 수정, 삭제 등이 가능하다.

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
package com.database.connection.entity;
 
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
 
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
 
@Getter
@Setter
@ToString
@Entity
public class World {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
 
    private String nation;
    private String lang;
    private String money;
    private int population;
}
 
cs

 

    ④ "src/main/resources/data.sql"에 Import 데이터를 작성하면, 서버 실행 시 자동으로 실행된다.

        - spring.datasource.initialization-mode=always
        - spring.jpa.defer-datasource-initialization=true

1
2
3
4
5
6
insert into `world` (`nation``lang``money``population`)
values
('Republic of America''English''dollar'500),
('England of United Kingdom''English''found'50),
('Spain''Spanish''euro'40),
('Thailand''Thailian''bat'200);
cs

 

4. 결과

    ˙ 서버 실행 시, Table이 자동생성되고 데이터가 Import된 것을 확인할 수 있다.

 

    ˙ 서버 실행 시, 자동 생성된 Table이 삭제된 것을 확인할 수 있다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ intelliJ IDEA 2021.3.1 (Community Edition)

    ˙ spring initializer (Gradle)

        - 참고) https://languagestory.tistory.com/136

 

SpringBoot 프로젝트 생성 및 MySQL 연동 설정

1. 시험환경 ˙ 윈도우 10 ˙ MySQL 8.0 Win x64 ˙ intelliJ IDEA 2021.3.1 (Community Edition) ˙ spring initializer (Gradle) 2. 목적 ˙ spring initializer(https://start.spring.io)를 통해서 Spring Boot..

languagestory.tistory.com

 

2. 목적

    ˙ Spring Boot 신규 생성후 intelliJ에서 처음 시작시 발생 오류를 해결 한다.

1
2
3
4
5
6
7
Execution failed for task ':ConnectionApplication.main()'.
> Process 'command 'C:/Program Files/Java/jdk-17.0.2/bin/java.exe'' finished with non-zero exit value 1
 
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
cs

 

3. 적용

     신규 생성한 SpringBoot 프로젝트를 intelliJ에서 최초 실행시, 설정 에러가 발생할 수 있다.

        - 서버 실행 단축키 : <Shift> + <F10>

 

     "File" 메뉴 → "Settings..." 하위 메뉴를 클릭한다.

 

     <Build, Execution, Deployment> → <Build Tools> → <Maven> → <Gradle> 세팅을 변경한다.

        - Build and run using : IntelliJ IDEA

        - Run tests using : IntelliJ IDEA

 

4. 결과

    ˙ SpringBoot 프로젝트를 재실행하면 설정 에러가 재현되지 않는 것을 확인할 수 있다.

        - 서버 실행 단축키 : <Shift> + <F10>

 

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ 윈도우 10

    ˙ MySQL 8.0 Win x64

    ˙ intelliJ IDEA 2021.3.1 (Community Edition)

    ˙ spring initializer (Gradle)

 

2. 목적

    ˙ spring initializer(https://start.spring.io)를 통해서 Spring Boot 신규 프로젝트를 생성한다.

    ˙ MySQL 연결을 위해 application.properties를 설정한다.

 

3. 적용

    ① Spring Boot 프로젝트를 생성한다. (GENERATE)

        - URL : https://start.spring.io/

 

 

    ② 생성된 프로젝트 파일의 압축을 해제하고, intelliJ 개발도구에서 Open하여 빌드(Build) 한다.

 

    ③ application.properties에서 MySQL 연결을 위한 정보를 입력한다.

        - 의존성 라이브러리에 'mysql:mysql-connector-java'가 추가된 경우, 반드시 연결 설정을 해야한다.

1
2
3
4
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/sample
spring.datasource.username=root
spring.datasource.password=1q2w3e
cs

 

4. 결과

    ˙ 서버를 실행하여 프로젝트 시작 및 DB Connection을 확인한다.

        - 서버 실행 단축키 : <Shift> + <F10>

        - 'mysql:mysql-connector-java' 의존성 라이브러리 추가 후 연결 설정을 하지 않으면 실행 시 에러가 발생한다.

 

반응형
반응형

1. 시험환경

    ˙ Spring Framework

    ˙ Apache Tomcat 9.0.21

 

2. 목적

    ˙ Spring Framework 개발환경에서 SameSite 쿠키를 설정하고 동작을 확인한다.

 

3. 적용

    ① web.xml에서 쿠키 설정을 추가한다.

        - web.xml은 Spring Framework 개발시 한글 설정, 로그인 등 web 화면에서 나타나는 부분을 설정하는 파일이다.

1
2
3
4
<cookie-config>
    <http-only>true</http-only>
    <secure>true</secure>
</cookie-config>
cs

 

4. 결과

    ˙ 설정 후 web 화면을 reload하면 SameSite 컬럼이 "Strict"으로 적용된 것을 확인할 수 있다.

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    - Spring Framework MVC

    - STS

 

2. 목적

    - pom.xml에서 발생하는 에러를 해결하자.

 

3. 적용

    ① 에러화면 및 로그

        - Could not initialize class org.apache.maven.plugin.war.util.WebappStructureSerializer

에러화면

 

    ② maven-plugin-war가 초기화되지 않아서 발생하는 에러이다.

        - 최신 버전 plugin을 추가한다.

plugin 추가

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- 윈도우 10

- STS(Spring Tool Suite) 4

- Project Lombok 1.18.22

 

2. 목적

- Spring MVC 프로젝트에 Lombok 라이브러리를 설치한다.

- 보통의 라이브러리와 다르게 Lombok은 추가 설정을 해야만 동작한다.

 

3. 적용

    ① 의존성 라이브러리 코드를 스프링 프로젝트(pom.xml)에 추가한다.

Lombok 의존성 라이브러리를 다운받는다.


    ② 프로젝트에서 다운받은 라이브러리 경로에서 아래 명령어를 실행한다.

        - java -jar [JAR 파일명]

롬복 라이브러리 실행

 

    ③ 나타나는 화면에서 "IDE"(ex. STS, Visual Studio Code, IntelliJ 등) 실행 파일을 지정한다.

IDE 실행파일
설정 완료

 

    ④ Getter와 Setter를 자동으로 생성할 클래스에 @Data 어노테이션을 추가한다.

        - 주의> ① ~ ③의 작업을 하지 않으면 어노테이션을 추가하더라도 getter와 setter가 자동생성되지 않는다.

Getter, Setter 자동생성 어노테이션

 

4. 결과

① Getter, Setter가 자동으로 생성됨을 확인한다.

Getter, Setter 생성 확인

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts