<이공계기술전문연수> Spring 결합도 / beanTest / 어노테이션

2019. 11. 11. 23:48· 이공계전문기술연수/Spring Framework

@ 어노테이션방식

-> 대부분 프레임워크는 XML설정이 매우 중요

-> XML설정 과도하게 설정되면 내용이 많아지고 부담스러워짐
-> 대부분프레임워크가 XML방식외에 어노테이션 방식을 지원


@ 의존성 주입 설정

## @Autowired ##

-> 주로 변수 위에 설정하여 해당 타입의 객체를 찾아서 자동으로 할당

## @Qualifier ##

-> 특정 객체의 이름을 이용해서 의존성을 주입 할 때 사용

## @Inject ##

-> @Autowired와 동일한 기능
-> @Autowired는 스프링 전용, Inject는 자바 전용

## @Resource ##

-> @Autowired 와 @Qualifier의 기능을 결합한 어노테이션


@추가어노테이션

-> Controller, Service, Dao를 new 를 통하여 객체를 만들었고,
매번 요청마다 new를 통해 객체를 만들어 리소스 낭비가 심함

-> 어노테이션을 사용하면 객체를 매번 만들 필요가 없음

-> @Component를 통해서 객체를 생성하는데 역할 구분을 위해 다른이름의
어노테이션이 존재

@Controller
-> 사용자 요청을 제어하는 Controller 클래스

@Service
-> 비지니스 로직을 처리하는 Service 클래스

@Repository
-> 데이터 베이스 연동을 처리하는 DAO 클래스

 

 

 

 

 

1. src ->main -> webapp  index.jsp 만듬!

 

 

 

 

2. src -> main -> webapp -> WEB-INF web.xml

 

web.xml 파일에 하나씩 등록해준다.

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee https://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/spring/root-context.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>
      /WEB-INF/spring/appServlet/servlet-context.xml
      classpath:applicationContext3.xml
      </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Dependency</display-name>
    <servlet-name>Dependency</servlet-name>
    <servlet-class>org.kh.spring.controller.DependencyServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Dependency</servlet-name>
    <url-pattern>/dependency</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Dependency2</display-name>
    <servlet-name>Dependency2</servlet-name>
    <servlet-class>org.kh.person.controller.Dependency2Servlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Dependency2</servlet-name>
    <url-pattern>/dependency2</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>BeanTest</display-name>
    <servlet-name>BeanTest</servlet-name>
    <servlet-class>org.kh.bean.test.BeanTestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BeanTest</servlet-name>
    <url-pattern>/beanTest</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>BeanTest2</display-name>
    <servlet-name>BeanTest2</servlet-name>
    <servlet-class>org.kh.bean.test.BeanTestServlet2</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BeanTest2</servlet-name>
    <url-pattern>/beanTest2</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>BeanTest3</display-name>
    <servlet-name>BeanTest3</servlet-name>
    <servlet-class>org.kh.bean.test.BeanTestServlet3</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BeanTest3</servlet-name>
    <url-pattern>/beanTest3</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>BeanTest4</display-name>
    <servlet-name>BeanTest4</servlet-name>
    <servlet-class>org.kh.bean.test.BeanTestServlet4</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BeanTest4</servlet-name>
    <url-pattern>/beanTest4</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>BeanTest5</display-name>
    <servlet-name>BeanTest5</servlet-name>
    <servlet-class>org.kh.bean.test.BeanTestServlet5</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>BeanTest5</servlet-name>
    <url-pattern>/beanTest5</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>AnoTest</display-name>
    <servlet-name>AnoTest</servlet-name>
    <servlet-class>org.kh.test.ano.AnoTestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>AnoTest</servlet-name>
    <url-pattern>/anoTest</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Computer</display-name>
    <servlet-name>Computer</servlet-name>
    <servlet-class>org.kh.test.ano.ComputerServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Computer</servlet-name>
    <url-pattern>/computer</url-pattern>
  </servlet-mapping>
  <servlet>
    <description></description>
    <display-name>Computer2</display-name>
    <servlet-name>Computer2</servlet-name>
    <servlet-class>org.kh.exam.Computer2Servlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Computer2</servlet-name>
    <url-pattern>/Computer2</url-pattern>
  </servlet-mapping>
</web-app>

 

 

'이공계전문기술연수 > Spring Framework' 카테고리의 다른 글

<이공계기술전문연수> 1. Framework 특징  (0) 2019.11.19
<이공계기술전문연수> Spring MVC  (0) 2019.11.11
<이공계기술전문연수> Maven 설정  (0) 2019.11.11
<이공계기술전문연수> Maven 특징 / Spring framework 특징  (0) 2019.11.04
<이공계기술전문연수> mybatis 설정 / mybatis 특징  (0) 2019.11.03
'이공계전문기술연수/Spring Framework' 카테고리의 다른 글
  • <이공계기술전문연수> 1. Framework 특징
  • <이공계기술전문연수> Spring MVC
  • <이공계기술전문연수> Maven 설정
  • <이공계기술전문연수> Maven 특징 / Spring framework 특징
임쟌
임쟌
Jian's Blog임쟌 님의 블로그입니다.
임쟌
Jian's Blog
임쟌
전체
오늘
어제

공지사항

  • [자기소개]
  • 쟌's Blog (227)
    • Language (32)
      • Python (8)
      • Go (24)
      • Java (0)
    • Framework (10)
      • Django (9)
      • Gin (1)
      • Spring boot (0)
      • Fiber (0)
    • Database (10)
      • PostgreSQL (8)
      • MySQL (0)
      • Redis (2)
    • Server (51)
      • Linux (16)
      • Git (12)
      • Oracle Cloud Infrastructure (13)
      • Mac (4)
      • Docker (4)
      • RabbitMQ (0)
      • ETC (2)
    • Operating System (0)
      • OS (0)
    • Algorithm (22)
      • Go (22)
      • Python (0)
    • Exam Certification (4)
    • Daily Life (27)
      • Review (21)
      • Diary (6)
    • 이공계전문기술연수 (71)
      • Java (17)
      • Database (8)
      • HTML | CSS (13)
      • JavaScript | jQuery (6)
      • Servlet | JSP (16)
      • Spring Framework (11)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
임쟌
<이공계기술전문연수> Spring 결합도 / beanTest / 어노테이션
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.