zoukankan      html  css  js  c++  java
  • Java 7.Spring--使用注解

    1.创建web项目

    2.引入jar包

    3.日志文件

    4.创建实体类

    Person

    Car

    5.创建applicationContext.xml

    <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
            https://www.springframework.org/schema/context/spring-context.xsd">
            
    </beans>
    

    6.配置注解扫描

    指定要扫描的包

    <context:component-scan base-package="com.spring.pojo"></context:component-scan>
    

    7.在类中使用注解

    @Component("person")
    @Repository("person")
    @Service("person")
    @Controller("person")
    //<bean name="person" class="com.Spring.pojo.Person"></bean>  相同
    

      

    8.其他类级别的注释

     

    @Component("person")     //适用于所有组件
    @Repository("person")    //适用于持久层
    @Service("person")    //适用于service
    @Controller("person")  //适用于controller
    

    9.指定对象的scope的属性

    @Component("person")
    @Scope(scopeName="singleton")
    

      

    10.set方式注入value值

    1-在私有的成员变量中注入

    @Value("helen") ==@Value(value="helen")
    	@Value("helen")
    	private String name;
    	@Value("18")
    	private Integer age;
    

      

    2-在set方法中注入

    	@Value("tom")
    	public void setName(String name) {
    		this.name = name;
    	}
    

      

    11.自动装配

    @Autowired  进行自动装配,按照对象类型进行自动装配
    @Component("car")
    public class Car {
    	@Value("小黄车")
    	private String name;
    	@Value("蓝色")
    	private String color;
    

      

    public class Person {
    	
    	@Value("helen")
    	private String name;
    	@Value("18")
    	private Integer age;
    	@Autowired
    	private Car car;
    

      

    自动装配存在的问题:如果一个类型有多个对象,那么可以采取以下的方式

    方法一:

    使用指定@Qualifier指定具体的对象

    	@Autowired
    	@Qualifier("car2")
    	private Car car;
    

      

    方式二:

    使用@Resource指定具体的对象

    	@Resource(name="car1")
    	private Car car;
    

      

    12.初始化方法和销毁方法

    	@PostConstruct   //初始化
    	public void init() {
    		System.out.println("Person被初始化了。。。");
    	}
    	@PreDestroy    //销毁
    	public void destroy() {
    		System.out.println("Person被摧毁了。。。");
    	}
    

      

     

  • 相关阅读:
    python中的一些小知识
    软件工程第一次作业(2)
    CountDownLatch的理解和使用
    架构设计:系统间通信(1)概述从“聊天”开始上篇
    Asp默认的上传文件大小限制是200K
    当多个sqlserver服务存在时,需要完全限定的serverName 方可登陆
    关于Entity Framework 版本的疑惑
    mvc scaffolding
    sql 语句中的 NULL值
    如何从数据库生成 EF Code First model
  • 原文地址:https://www.cnblogs.com/yuzhenfu/p/12153378.html
Copyright © 2011-2022 走看看