zoukankan      html  css  js  c++  java
  • spring学习笔记之---bean管理的注解方式

    bean管理的注解方式

    (一)使用注解定义bean

    (1)常用注解

     

    (2)实例

    1.在pom.xml中进行配置

    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>5.1.5.RELEASE</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
      </dependency>
    </dependencies>

    2.创建一个类,在类中写一个方法,在类上加一个注解@Component

    package service;
    
    
    
    import org.junit.Test;
    
    import org.springframework.stereotype.Component;
    
    import sun.misc.Contended;
    
    
    
    @Component("UserService")
    
    public class UserService {
    
        public String Hello(){
    
            return "hello";
    
        }
    
    }

    3.创建一个applicationContext.xml,在里面配置包扫描

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
           xmlns:context="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">
    
    
    
        <!--开启注解扫描=======================-->
    
        <context:component-scan base-package="service"></context:component-scan>
    
    
    
            </beans>

    4.创建一个log4j.properties

    ### direct log messages to stdout ###
    
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    
    log4j.appender.stdout.Target=System.err
    
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    
    log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    
    
    ### direct messages to file mylog.log ###
    
    log4j.appender.file=org.apache.log4j.FileAppender
    
    log4j.appender.file.File=c:mylog.log
    
    log4j.appender.file.layout=org.apache.log4j.PatternLayout
    
    log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
    
    
    
    ### set log levels - for more verbose logging change 'info' to 'debug' ###
    
    
    
    log4j.rootLogger=info, stdout

    5.创建一个测试类

    package test;
    
    
    
    import org.junit.Test;
    
    import org.springframework.context.ApplicationContext;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import service.UserService;
    
    
    
    public class UserTest {
    
        @Test
    
        public void hellotest(){
    
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
    
            UserService userService=(UserService)applicationContext.getBean("UserService");
    
            String s=userService.Hello();
    
            System.out.println(s);
    
        }
    
    }
    (二)属性注入的注解

    (1)常用注解

     

     

    1.属性注入

    package service;
    
    
    
    import org.junit.Test;
    
    import org.springframework.beans.factory.annotation.Value;
    
    import org.springframework.stereotype.Component;
    
    import sun.misc.Contended;
    
    
    
    @Component("UserService")
    
    public class UserService {
    
        @Value("小欢")
    
        private String name;
    
        public String Hello(){
    
            return "hello"+name;
    
        }
    
    }
     

    2.类注入

    (a)UserService.java

    package service;
    
    
    
    import dao.UserDao;
    
    import org.junit.Test;
    
    import org.springframework.beans.factory.annotation.Value;
    
    import org.springframework.stereotype.Component;
    
    import sun.misc.Contended;
    
    
    
    import javax.annotation.Resource;
    
    
    
    @Component("UserService")
    
    public class UserService {
    
        @Value("小欢")
    
        private String name;
    
        @Resource(name="UserDao")
    
        private UserDao userDao;
    
        public String Hello(){
    
            System.out.println("service中的hello");
    
            return "hello"+name;
    
        }
    
    }

    (b)UserDao.java

    package dao;
    
    
    
    
    
    import org.springframework.stereotype.Repository;
    
    @Repository("UserDao")
    
    public class UserDao {
    
        public void Hello(){
    
            System.out.println("dao 中的hello");
    
        }
    
    }

    (c)applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
           xmlns:context="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">
    
    
    
        <!--开启注解扫描=======================-->
    
        <context:component-scan base-package="service,dao"></context:component-scan>
    
    
    
            </beans>

    (d)UserTest.java

    package test;
    
    
    
    import org.junit.Test;
    
    import org.springframework.context.ApplicationContext;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import service.UserService;
    
    
    
    public class UserTest {
    
        @Test
    
        public void hellotest(){
    
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
    
            UserService userService=(UserService)applicationContext.getBean("UserService");
    
            String s=userService.Hello();
    
            System.out.println(s);
    
        }
    
    }
    (三)其他注解

     

     

    (四)xml和注解整合开发

    1.UserService2.java

    package service;
    
    
    
    import dao.UserDao2;
    
    import org.springframework.stereotype.Repository;
    
    
    
    import javax.annotation.Resource;
    
    
    
    public class UserService2 {
    
        @Resource(name="UserDao2")
    
        private UserDao2 userDao2;
    
        public void He(){
    
            userDao2.He();
    
            System.out.println("userservice2中的he");
    
        }
    
    }

    2.UserDao2.java

    package dao;
    
    
    
    public class UserDao2 {
    
        public void He(){
    
            System.out.println("userdao2中的he");
    
        }
    
    }

    3.applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?>
    
    <beans xmlns="http://www.springframework.org/schema/beans"
    
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
           xmlns:context="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">
    
        <context:annotation-config/>
    
        <bean id="UserService2" class="service.UserService2"/>
    
        <bean id="UserDao2" class="dao.UserDao2"/>
    
            </beans>

    4.UserTest.java

    package test;
    
    
    
    import org.junit.Test;
    
    import org.springframework.context.ApplicationContext;
    
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    
    import service.UserService;
    
    import service.UserService2;
    
    
    
    public class UserTest {
    
        @Test
    
        public void hetest(){
    
            ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
    
            UserService2 userService2=(UserService2)applicationContext.getBean("UserService2");
    
            userService2.He();
    
    
    
        }
    
    }
  • 相关阅读:
    CentOS7.6下安装qt-creator
    chromedriver下载地址
    selenium 基于Autolt工具对于Windows窗口上传文件操作
    Selenium+java
    jmeter删除历史打开的脚本记录
    echarts 各种特效图
    SpringBoot启动-问题解决:Could not locate executable nullinwinutils.exe in the Hadoop binaries
    pinyin4j
    JMeter内存溢出:java.lang.OutOfMemoryError: Java heap space解决方法
    selenium自动化测试中升级chrome78版本带来的问题
  • 原文地址:https://www.cnblogs.com/dyddzhp/p/11307755.html
Copyright © 2011-2022 走看看