• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

注解开发spring的强项1

武飞扬头像
半浮名
帮助1

注解能加快开发。
如何使用注解来简化?

原来是这样:没有注解

1.注解开发例子:注解开发定义bean

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">




    <bean id="BookDao" class="dao.BookDaoImpl"></bean>
    <!--配置bean对应类 -->



</beans>
package dao;

public class BookDaoImpl implements BookDao{
    @Override


    public void save(){

        System.out.println("save..BookDaoImpl");

    };



}

学新通
import dao.BookDao;
import org.springframework.beans.BeansException;
import org.springframework.context
        .ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import service.BookService;

public class app1 {


    public static void main(String[] args)   {



         //   ApplicationContext ctx=  new ClassPathXmlApplicationContext("applicationtext.xml");

            //获取对应spring配置文件
        ClassPathXmlApplicationContext ctx=  new ClassPathXmlApplicationContext("applicationtext.xml");

        BookDao bookDao= (BookDao) ctx.getBean("BookDao");

        System.out.println(bookDao);


    }
}

学新通

结果:
学新通

修改
Component
通过Component:主键 相当于bean
component(‘BookDao’)相当于下面这一句(写在类中)
位置在这个类中写:
package dao;
public class BookDaoImpl implements BookDao{}

所以才相当于:dao.BookDaoImpl
beans:怎么获取通过
context的component-scan 扫描 类的包名

<bean id="BookDao" class="dao.BookDaoImpl"></bean>

具体代码:

package dao;


import org.springframework.stereotype.Component;

@Component("BookDao")//相当于<bean id="BookDao" class="dao.BookDaoImpl"></bean> 这一句话

public class BookDaoImpl implements BookDao{
    @Override


    public void save(){

        System.out.println("save..BookDaoImpl");

    };



}

学新通

xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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="dao"></context:component-scan>
  <!-- <bean id="BookDao" class="dao.BookDaoImpl"></bean>  -->
    <!--配置bean对应类 -->



</beans>
学新通

结果:
学新通
还有一种方式:
只用这个:@Component

package service;

import dao.BookDao;
import dao.BookDaoImpl;
import org.springframework.stereotype.Component;


@Component
public class BookServiceimpl implements BookService{


    //BookDao bookDao=new BookDaoImpl();//左边接口,右边对应实现类

    BookDao bookDao12;//=new BookDaoImpl();

  // public void setBookDao12(BookDao bookDao12) {
   //     this.bookDao12 = bookDao12;
   // }


    //方法2:使用构造器

    public BookServiceimpl(BookDao bookDao){

        this.bookDao12=bookDao;




    }

    @Override
    public void save(){

        System.out.println("book service save...");

        bookDao12.save();
    }
}

学新通
BookService bookService= (BookService) ctx.getBean(BookService.class);//通过;类查找

2.第二种例子:纯注解开发模式

就是xml配置文件不写,用类来代替配置文件

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

@Configuration  //通过这个注解来把xml里面的东西beans 相当于
@ComponentScan("dao")// 检索包

public class config
{



}

测试代码:

import dao.BookDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class app2 {

    public static void main(String[] args) {


        ApplicationContext ctx=new AnnotationConfigApplicationContext(config.class);
        //通过这个AnnotationConfigApplicationContext来让类成为配置

       BookDao bookDao= (BookDao) ctx.getBean("BookDao");

        System.out.println(bookDao);

    }
    

}

学新通

结果:
学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgcacfh
系列文章
更多 icon
同类精品
更多 icon
继续加载