SSM 프로파일을 개발하는 계층 프레임 워크

DAO 층 프로필

application.xml을 파일 

경로 : 자원 -> 스프링이> application.xml을

<? XML 버전 = " 1.0 " 인코딩 = " UTF-8 " ?> 
<콩의 xmlns = " http://www.springframework.org/schema/beans " 
       의 xmlns :이 xsi = " http://www.w3.org / 2001 / 된 XMLSchema 인스턴스 " 
       XMLNS : 문맥 = " http://www.springframework.org/schema/context " 
       XSI :의 schemaLocation = " http://www.springframework.org/schema/beans 
       HTTP : // WWW. springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> 
<-导入外部资源->! 
    <컨텍스트 : 속성 - 자리 위치 = " 클래스 경로 스프링 / jdbc.properties " > < / 컨텍스트 : 부동산-자리> 
<! -创建스프링 JDBC的数据源-> 
    <콩 ID = " 는 dataSource "  클래스 = " org.springframework.jdbc.datasource.DriverManagerDataSource " > 
        <속성 이름 = " driverClassName " 값 = " $ {jdbc.driver} " /> 
        <속성 이름 = "URL " 값 =" $ {jdbc.sql.url} " /> 
        <속성 이름 = " 사용자 이름 " 값 = " $ {jdbc.username} " /> 
        <속성 이름 = " 암호 " 값 = " $ {jdbc.userpwd} " /> 
    </ 콩> 
<! -创建SqlSessionFactory는对象-> 
    <콩 ID = " SqlSessionFactory는 "  클래스 = " org.mybatis.spring.SqlSessionFactoryBean " > 
        <속성 이름 = "은 dataSource "  REF = "DataSource에 " /> 
        <! - MyBatis로 다른 구성 (Configuration 탭 지원) -> 
        <속성 이름 = " 플러그인 " > 
            <배열> 
                <빈 클래스 = " com.github.pagehelper.PageInterceptor " > 
                    <속성 이름 = " 속성 " > 
                        <소품이> 
                            <! -> - 탭 구성 매개 변수가있는 데이터베이스 
                            <소품 키 = " helperDialect " > MySQL의 </ 소품> 
                        </ 소품> 
                    </ property>를/ 소품> 
                </ 콩>
            </ 배열> 
        </ property>를 
        <- 두 번째 방법은 페이징 정보! -> 
        <! - <속성 명 =! " configLocation " 값 = " 클래스 경로 : SqlMapConfig.xml " > </ 속성> -> 
    </ 빈> 
<! - 스캔 패키지 동적 인터페이스 프록시 개체 -> 
    <빈 클래스 = " org.mybatis.spring.mapper.MapperScannerConfigurer " > 
        <속성 이름 = " basePackage " 값 = " cn.kgc.dao " / > 
    </ 빈> 
</ 콩>

 

jdbc.properpies 파일

경로 : 자원 -> 스프링이> jdbc.properpies

jdbc.driver : com.mysql.jdbc.Driver의 
jdbc.sql.url : JDBC한다 : mysql : // localhost를 : 3306 / 여행 
jdbc.username : 루트 
jdbc.userpwd : 관리자

 

log4j2.xml 파일

경로 : 자원 -> log4j2.xml

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<Configuration 상태 = "경고"monitorInterval = "30"엄격한 = "true"로 스키마 = "Log4J를-V2.2.xsd"> 
    <의 Appender> 
        < 콘솔 NAME = "콘솔"대상 = "SYSTEM_OUT"> 
            <! -将日志输出到控制台-> 
            <PatternLayout은 패턴 = "% 일 {YYYY-MM-DD HH : MM : ss.SSS} [% 스레드] % 수준 [%의 C {36} %의 M.] - %의 MSG를 % 않음 "/> 
        </ 콘솔> 
        <-将日志输出到文件中->! 
        <파일 이름 ="myLogFile 'FILENAME = "D / ssm.log 진정한 ">"= 추가 "/ 로그인 
            {mm : YYYY-MM-DD HH ss.SSS} <PatternLayout은 패턴 ="% 날짜 [. %의 C {36} %의 M] [% 스레드] % 수준 - % N % MSG "/>
        </ 파일> 
    </의 Appender> 

    <로거> 
        <! -全局配置-> 
        <루트 레벨 = "정보">
            <! -普通日志要在哪里显示-> 
        <로거 이름 = "org.springframework.jdbc"수준 = "디버그"상가 = "거짓">
            <appenderRef REF = "콘솔"/> 
            <펜더-REF REF = "myLogFile"/> 
        </ 루트> 

        <! -业务层日志-> 
        <로거 이름 = "com.itheima.service"수준 = "디버그" 상가> = "false"를 
            <펜더-REF REF = "콘솔"/> 
            <펜더-REF REF = "myLogFile"/> 
        </ 로거> 

        <! -持久层日志-> 
        <로거 이름 = "com.itheima .dao "수준 ="디버그 "상가 ="거짓 "> 
            <펜더-REF REF ="콘솔 "/> 
            <펜더-REF REF ="myLogFile "/> 
        </ 로거>
        <! -事务日志-> 
            <펜더-REF REF = "myLogFile"/> 
        </ 로거>
            <펜더-REF REF = "콘솔"/> 
    </ 로거> 


</ 구성>

 

sqlMapConfig.xml 파일

페이징 지원 파일

경로 : 자원 -> sqlMapConfig.xml

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<! DOCTYPE 구성 
        PUBLIC "- // mybatis.org//DTD 구성 3.0 // EN" 
        "http://mybatis.org/dtd/mybatis-3-config.dtd"> 
<구성> 
    <플러그인> 
        <플러그인 인터셉터 = " com.github.pagehelper.PageInterceptor "/> 
    </ 플러그인> 
</ 구성>

 

서비스 수준 프로필

경로 : 자원 -> 스프링이> spring.xml

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<콩의 xmlns = "http://www.springframework.org/schema/beans" 
       의 xmlns :이 xsi = "http://www.w3.org / 2001 / 된 XMLSchema 인스턴스 " 
       의 xmlns : 컨텍스트 ="http://www.springframework.org/schema/context " 
       의 xmlns : TX ="http://www.springframework.org/schema/tx " 
       에 xmlns : AOP =" http://www.springframework.org/schema/aop " 
       XSI :의 schemaLocation ="http://www.springframework.org/schema/beans 
       HTTP : // www.springframework.org/schema/beans/spring-beans. XSD 
       HTTP : // www.springframework.org/schema/context 
       HTTP ://www.springframework.org/schema/context/spring-context.xsd 
       HTTP : // www.springframework.org/schema/tx 
       HTTP : // www.springframework.org/schema/tx/spring-tx.xsd 
       HTTP : / / www.springframework.org/schema/aop 
       HTTP : // www.springframework.org/schema/aop/spring-aop.xsd "> 
<! - 도입 지속성 구성 파일 -> 
<! - < 가져 오기 리소스 = "CLASSPATH * 다음 applicationContext.xml"> </ 오기 > -> 
<! - 주사 패키지 ->! 
    <컨텍스트 : 스캔베이스 - 부품 패키지 = "cn.kgc.service"/> 
<! - 트랜잭션 관리자 개체 -> 
    <콩 위에서 언급 한 id = "의 transactionManager " 클래스= "org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
        <속성 이름 = "는 dataSource"REF = "는 dataSource"> </ 부동산> 
    </ 빈> 
<-事务通知对象->! 
    <TX : 조언 ID = "txAdvice"트랜잭션 매니저 = "의 transactionManager"> 
        <TX : 속성> 
            <TX : 방법 이름 = "찾을 수 *"= "true"를 전파 = /> "을 지원합니다"읽기 전용 
            <TX : 메소드 이름 = "쿼리를 *" 읽기 전용 = "true"를 전파 = "을 지원합니다"/> 
            <TX : 메소드 이름 = "GET *"읽기 전용 = "true"를 전파 = "을 지원합니다"/> 
            <TX : 메소드 이름을 = "*"읽기 전용 = "거짓 "전파 ="필수 "/> 
        </ TX : 속성> 
    </ TX : 조언> 
<- AOP切面配置->! 
    <AOP : 설정>
        <AOP : 권고 조언-REF = "txAdvice"포인트 컷 = "실행 (cn.kgc.service.impl * * * (...)..)"> </ AOP : 권고> 
    </ AOP : 구성> 
</ 콩 >

 

컨트롤러 레이어 프로필

springMVC.xml 파일

경로 : 자원 -> springMVC.xml

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<콩의 xmlns = "http://www.springframework.org/schema/beans" 
       의 xmlns :이 xsi = "http://www.w3.org / 2001 / 된 XMLSchema 인스턴스 " 
       의 xmlns : 컨텍스트 ="http://www.springframework.org/schema/context " 
       의 xmlns : MVC ="http://www.springframework.org/schema/mvc " 
       는 xsi :의 schemaLocation =" http://www.springframework.org/schema/beans 
       HTTP : // www.springframework.org/schema/beans/spring-beans.xsd 
       HTTP : // www.springframework.org/schema/context 
       HTTP : // WWW .springframework.org / 스키마 / 환경 / 스프링 컨텍스트.XSD 
       HTTP : //www.springframework.org/schema/mvc 
       HTTP : // www.springframework.org/schema/mvc/spring-mvc.xsd "> 
<-扫描包->! 
<컨텍스트 : 구성 요소 스캔 기지 - 패키지 =" cn.kgc.controller "> </ 컨텍스트 : 구성 요소 스캔> 
<! -视图解析器-> 
<빈 클래스 ="org.springframework.web.servlet.view.InternalResourceViewResolver "> 
    <속성 이름 ="앞에 " 값 = "/ 페이지 /"> </ 부동산> 
    . "JSP"<속성 이름 = "접미사"값 => </ 부동산> 
</ 빈> 
<-注解驱动->! 
<MVC : 주석 중심> </ MVC : 주석 중심> 
<! -静态资源放行->
<MVC : 기본 -servlet 핸들러> </ MVC : 기본 -servlet 핸들러>
</ 콩>

 

스프링 security.xml 파일

경로 : 자원 -> 스프링 security.xml

보안 프레임 워크 문서

<? XML 버전 = "1.0"인코딩 = "UTF-8"?> 
<콩의 xmlns = "http://www.springframework.org/schema/beans" 
       의 xmlns :이 xsi = "http://www.w3.org / 2001 / 된 XMLSchema 인스턴스 " 
       XMLNS : 보안 ="http://www.springframework.org/schema/security " 
       XSI :의 schemaLocation ="http://www.springframework.org/schema/beans 
       HTTP : // WWW. springframework.org/schema/beans/spring-beans.xsd 
       HTTP : // www.springframework.org/schema/security 
       HTTP : // www.springframework.org/schema/security/spring-security.xsd "> 
<! - -不拦截静态资源-> 
    <보안 : HTTP 패턴 = "/ CSS / **"보안 = "없음"/>
    <보안 : HTTP 패턴 = "/ IMG / **"보안 = "없음"/> 
    <보안 : HTTP 패턴 = "/ 플러그인 / **"보안 = "없음"/> 
<! - 로그인을 차단하지,하지 않습니다 차단 오류, 구글 플러그인에서 그 아이콘과 함께 제공 차단하지 않습니다 -> 
    <보안 : HTTP 패턴 = "/를의 login.jsp"보안 = "없음"/> 
    <보안 : HTTP 패턴 = "/ errror.jsp"보안 = "없음"/> 
    <보안 : HTTP 패턴 = "/ favicon.ico의"보안 = "없음"/> 
<! - - 차단 규칙 조항, 자동 구성 = 사용 표현식 여부 SpEL을 표현 "기본 페이지를 사용하여"> 
    < 보안 : HTTP 자동 설정 = 사용-표현 "true로"= "거짓"> 
        <보안 : 인터셉트 URL 패턴 = "/ **"액세스 = "ROLE_USER"/> 
        <!- 페이지에서 사용하는 보안 프레임 워크를 사용하여 
        로그인을 - 페이지의 로그인 페이지를 참조 
         로그인 하는 과정과 로그온 요청 URL 경로 -로그인이 경로를 사용해야합니다
           기본 -target-을 페이지의 URL에 성공적으로 로그인 한 후 
          인증 -failure- 로그인 페이지 실패 URL 입력
          > - 
        형상 - <보안 로그인 
                로그인 -page = "/를의 login.jsp" 
                로그인 -processing-을 = URL "/ 로그인"
                 기본 -target-URL = "/를 index.jsp를" 
                인증 폭주-URL = "/를의 login.jsp" 
        > / 

        <- 크로스 도메인 요청을 폐쇄 ->! 
        <보안 : CSRF = 사용 안 함 " true로 "/> 
        ! - 종료 - <> 
        <보안 : 짐바브웨 로그 아웃 - 무효 인 세션 ="true로 "짐바브웨 로그 아웃-URL ="/ 짐바브웨 로그 아웃 "로그 아웃 - 성공 URL = "/의 login.jsp"/>


    </ 보안 : HTTP> 
    <- 계정 암호와 함께 제공되는 인증 로그인 인증 관리자를 구성! -> 
    <보안 : 인증 관리자> 
        <보안 : 인증 사용자-서비스 공급 업체-REF = "userService"> 
<! - - 스프링 보안 내장 된 암호화 -> 
            <보안 : 암호 인코더 심판 = "되는 PasswordEncoder"/> 
<- <보안 :! 사용자 서비스> -> 
                <! - 임시 비밀번호의 
                 기관 : 지정된 사용자 인증 역할 
                {무 조작은} 암호화되지 -> 
<- <보안 :! 사용자 이름 = "ADMIN"암호 = "{무 조작} ADMIN"당국 = "는 ROLE_USER을 가진 사용자"> </ 보안 : 사용자> -> 
<! - - </ 보안 : 사용자 서비스 > ->
        </ 보안 : 인증 제공>
    </ 보안 : 인증 관리자> 
<! - 스프링 용기에 원하는 스프링 보안 암호화 패킷 -> 
    <빈 ID = "되는 PasswordEncoder 「클래스 ="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder " /> 
</ 콩>

 

추천

출처www.cnblogs.com/liugaoyanging/p/11495385.html