강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của test2
test2

câu hỏi đã được viết

mùa xuân an ninh

Trình quản lý xác thực và xác thực

spring security설정파일에서 어노테이션으로 정의한 서비스가 인식이 안돼요

Viết

·

554

0

안녕하세요.수업 열심히 잘 듣고 있습니다. 근데 환경이 다르니 힘들긴 하네요.

뭐 어쨌든 현재 스프링을 xml에 설정파일로 등록하여 사용하고 있습니다. 

web.xml에

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<!-- The definition of the Root Spring Container shared by all Servlets 

and Filters -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>/WEB-INF/config/security-config.xml</param-value>

</context-param>

=================================

spring 설정파일

<security:authentication-manager>

<security:authentication-provider user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

================================

UserDetailsService를 커스트마이징해서 사용하려는데

@Service("loginService")

public class SecurityLoginService implements UserDetailsService {

spring security설정 파일에서 어노테이션을 인식 못하는지 서버가 start될때 아래와 같은 메시지가 출력됩니다.

No bean named 'loginService' is defined 

spring security설정파일에

<import resource="spring-config.xml" />

를 추가하고 restart하면 오류가 발생하지 않습니다.

이렇게 하지 않고 인식시키는 방법이 없을까요?

springjava

Câu trả lời 4

0

ckaqudwhgtlrdkTl님의 프로필 이미지
ckaqudwhgtlrdkTl
Người đặt câu hỏi

@Service어노테이션 붙이고 component-scan으로 추가하면 빈으로 등록되는거 아닌가요? 이렇게 해서 mybatis랑 연동해서 web개발을 잘 하고 사용하고 있었는데 spring security와 연동하면서 위에서 질문했던 것들이 궁금해서 여쭤봤던 것입니다. @Service어노테이션을 이용해서 빈을 등록하는 것이 제가 잘못 알고 있는 것이 있는지 스프링 핵심 기술의 이해라는 강좌도 신청해서 들어봤는데 비슷하게 말씀하시는거 같던데...제가 뭘 잘못알고 있었나보네요..질문이 기분나쁘셨다면 죄송합니다.

0

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

@Service라는 애노테이션만 붙이면 빈으로 등록되나요?

0

ckaqudwhgtlrdkTl님의 프로필 이미지
ckaqudwhgtlrdkTl
Người đặt câu hỏi

아 빈은 어노테이션으로 @service등록했습니다. (빈의 이름도 loginService로 등록하였습니다. - 패키지도 인식할 수 있도록 모두 등록했습니다.) 스프링 설정 파일과 스프링시큐리티 설정 파일을 따로 만들고 작업하는데 

<security:authentication-manager>

<security:authentication-provider  user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

만 하면 loginService빈을 인식 못하고

<security:authentication-manager>

<security:authentication-provider  user-service-ref="loginService">

</security:authentication-provider>

</security:authentication-manager>

<import resource="spring-config.xml" />

이렇게 <import>문으로 spring설정 파일을 추가해야 인식해서 제가 놓치고 있는 것이 있는지 궁금해서 여쭤봤습니다.

0

whiteship님의 프로필 이미지
whiteship
Người chia sẻ kiến thức

빈으로 등록하지 않고 어떻게 빈으로 주입을 받아서 사용하시려구요. 스프링 핵심 기술의 이해라는 강좌는 혹시 수강하셨는지요?

Hình ảnh hồ sơ của test2
test2

câu hỏi đã được viết

Đặt câu hỏi