본문 바로가기

✨ Back-end/Spring-Boot93

[Spring] Bean과 Bean Factory , @Configuration과 @Bean Bean이란? 스프링이 제어권을 가지고 직접 만들고 관계를 부여하는 오브젝트임과 동시에 스프링 컨테이너가 생성과 관계설정, 사용 등을 제어해주는 제어의 역전이 적용된 오브젝트 스프링을 사용하는 애플리케이션에서 만들어지는 모든 오브젝트가 다 빈은 아니다. 그 중에서 스프링이 직접 그 생성과 제어를 담당하는 오브젝트만 빈이라고 부른다. Bean Factory 빈의 생성과 관계설정 같은 제어를 담당하는 IoC 오브젝트 보통 빈 팩토리(Bean Factory)를 바로 사용하지 않고, 이를 확장한 애플리케이션 컨텍스트(ApplicationContext)를 사용. BeanFactory라고 붙여쓰면 빈 팩토리가 구현하고 있는 가장 기본적인 인터페이스 이름이 된다. 이 인터페이스에 getBean()과 같은 메소드가 정.. 2023. 8. 19.
[Spring] 웹소켓 STOMP WebSocket - 실시간 채팅 구현하기 1. gradle을 사용하면 bulid.gradle에 먼저 implementation 해줘야하는게 있다. 반드시 추가 한 후, 다시 Refresh gradle Project를 시켜주자. implementation 'org.springframework:spring-web' implementation("org.springframework.boot:spring-boot-starter-websocket") 2. 먼저 HTML을 만들어준다. 나는 index.html을 만들어 아래 코드를 이렇게 넣어주었다. HTML 삽입 미리보기할 수 없는 소스 3. HTML과 연동시킬 javascript를 만들어준다. 아래 코드를 app.js를 만들고 붙여넣어 주었다. HTML 삽입 미리보기할 수 없는 소스 4. 이번 기능의 핵.. 2023. 6. 1.
[Spring] 쇼핑몰 - 62 이메일 전송하기 build.gradle bulid.gradle에 아래 코드를 추가해주었다. implementation 'org.springframework.boot:spring-boot-starter-mail' 이후 Refresh Gradle Prejct를 하자. application.properties spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username= spring.mail.password= spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.auth=true spring.mail.username= 에는 발신자 메일을 넣어준다. goo.. 2023. 5. 4.
[Spring] 쇼핑몰 - 60 주문 상태 변경 버튼 클릭시 주문 상태 버튼을 이용해 배송 관리를 해보자. 체크박스가 하나 이상이니 WHERE절에 ORDER_NUM 조건으로 IN 쿼리를 짜준다. UPDATE ORDER_STATUS SET STATUS_CODE = #{statusCode} WHERE ORDER_NUM IN (?,?) 쿼리에는 먼저 이런식으로 나오게 되는데, IN에는 두개 이상의 매개변수가 들어와야하므로 Map으로 빈값을 채워야한다. order_manage.html 버튼을 누를 때마다 js을 이용해 주문 상태를 변경하기 위해 버튼에 onclick 을 넣어주었다. order_manage.js js에서 컨트롤러로 이동하면 쿼리가 실행될 수 있도록 Map데이터를 생성해서 던질것이다. AdminController 컨트롤러 일단 orderNum이 1, 2로 체.. 2023. 5. 2.