注解开发spring的强项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
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13