java的配置方式简介
1,java的配置方式简介
java的配置方式是为了代替使用xml配置方式,
主要使用两个注解:
@Configuration//通过该注解来表明该类是一个spring的配置,相当于一个xml文件
@ComponentScan(basePackages="com.SpringBoot.javaConfig")//配置扫码包
设置bean的方式,既可以直接在bean类上面使用@Component,@Service
也可在java配置类里面使用@bean,搭配类似如下方法代替xml中bean的配置:
@Bean //通过该配置来表明是一个bean对象,相当于xml里面的<bean>
//以下也可通过直接在User上面使用@Component代替
@Bean //通过该配置来表明是一个bean对象,相当于xml里面的<bean>
public UserDAO getUserDAO()
{
return new UserDAO();//直接new对象做演示
}
初始化spring容器,由于不再使用配置文件了:
ApplicationContext = new ClassPathXmlApplicationContext(xmlPath);
而是使用如下方式代替:
AnnotationConfigApplicationContext context=
new AnnotationConfigApplicationContext(SpringConfig.class);
该方式,会通过SpringConfig这个配置类进行容器初始化。
获取bean的方式,同样可以使用context.getBean(类.class)方式,如下:
UserService userService=context.getBean(UserService.class);
这种方式依然可以使用@Autowired等注解。
这种java配置方式,完全不需要xml配置,简单易懂。
二,读取外部的资源配置文件
通过@propertySource可以读取指定的配置文件,通过@value注解获取值。具体用法:
@propertySource(value={"classpath:jdbc.properties"})
public class SpringConfig
{
@Value("${jdbc.url}")
private String jdbcUrl;
@Bean
public UserDAO getUserDAO()
{
return new UserDAO();
}
}
为了保证如果读取的配置文件不存在忽略他,加上属性:ignoreResourceNotFound=true
如果多个配置文件,可以修改value值:
@propertySource(value={"classpath:jdbc.properties","xxxx","xxxx"},ignoreResourceNotFound=true)
实例:
第一步:新建一个实体类:User
package com.SpringBoot.javaConfig;
public class User {
private String username;
private String password;
private Integer age;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
新建一个UserDAO模拟DAO数据库查询
package com.SpringBoot.javaConfig; import java.util.ArrayList;
import java.util.List; import org.springframework.stereotype.Component; public class UserDAO { public List<User> queryUserList(){ List<User> result=new ArrayList<User>();
//模拟数据库查询
for(int i=0;i<10;i++)
{
User user=new User();
user.setUsername("username_"+i);
user.setPassword("password_"+i);
user.setAge(i+1);
result.add(user);
}
return result;
} }
第三步:新建一个UserService调用UserDAO
package com.SpringBoot.javaConfig; import java.util.List; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; @Service
public class UserService { @Autowired
//注入spring容器中的bean对象
private UserDAO userDAO; public List<User> queryUserList(){
return userDAO.queryUserList();
}
}
最后一步:新建一个main方法测试:
package com.SpringBoot.javaConfig;
import java.util.List;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
public class Main {
public static void main(String[] args) {
//通过java配置来管理Spring容器
AnnotationConfigApplicationContext context=
new AnnotationConfigApplicationContext(SpringConfig.class);
//在spring容器中获取bean对象
UserService userService=context.getBean(UserService.class);
//调用对象中的方法
List<User> list=userService.queryUserList();
for(User user:list)
{
System.out.println(user.getUsername()+","+user.getPassword()+","+user.getAge());
}
//销毁容器
context.destroy();
}
}
java的配置方式简介的更多相关文章
- java的配置环境简介
============================================================================== 学java对很多人来说并不陌生,听的最多的 ...
- 用Java+xml配置方式实现Spring数据事务(编程式事务)
一.用Java配置的方式 1.实体类: Role public class Role { private int id; private String roleName; private String ...
- Java常见编码方式简介
计算机只能识别二进制数据,早期由来是电信号. 为了方便应用计算机,让它可以识别各个国家的文字. 就将各个国家的文字用数字来表示,并一一对应,形成一张表. ASCII:美国标准信息交换码. 用一个字节的 ...
- Spring MVC 的 Java Config ( 非 XML ) 配置方式
索引: 开源Spring解决方案--lm.solution 参看代码 GitHub: solution/pom.xml web/pom.xml web.xml WebInitializer.java ...
- 如何用Java类配置Spring MVC(不通过web.xml和XML方式)
DispatcherServlet是Spring MVC的核心,按照传统方式, 需要把它配置到web.xml中. 我个人比较不喜欢XML配置方式, XML看起来太累, 冗长繁琐. 还好借助于Servl ...
- SpringBoot学习(三)-->Spring的Java配置方式之读取外部的资源配置文件并配置数据库连接池
三.读取外部的资源配置文件并配置数据库连接池 1.读取外部的资源配置文件 通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值,具体用法: @Configuration ...
- SpringBoot学习(二)-->Spring的Java配置方式
二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...
- Spring 的java 配置方式
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.1@Configuration 和 @Bean Spring的Java配置方式是通过 @Configuration 和 @ ...
- Spring的Java配置方式—@Configuration和@Bean实现Java配置
Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @BeanSpring的Java配置方式是通过 @Configuration 和 @Be ...
随机推荐
- request.getParameter();的意思
对于httprequrest的request.getParameter()的作用,之前我只是在用它而不知道它到底有什么作用,今天看了一遍文章突然明白了其中的意思. 大致的内容如下: <form ...
- 虚拟私有云(Virtual Private Cloud,专有网络)配置方式总结
虚拟私有云 虚拟私有云(Virtual Private Cloud)是用户在云上申请的隔离的.私密的虚拟网络环境.用户可以自由配置VPC内的IP地址段.子网.安全组等子服务,也可以申请弹性带宽和弹性公 ...
- Statistical Artifact (error)
In natural science and signal processing, an artifact is any error in the perception or representati ...
- jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间
http://blog.csdn.net/pigpigpig4587/article/details/24727791 jQuery事件命名空间 jQuery支持事件命名空间,以方便事件管理.例如,在 ...
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
oracle group by中rollup和cube的区别: Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句.CUBE ROLLUP 是用于统计数据的. 实验 ...
- Netty和Tomcat的区别、性能对比
一.Netty和Tomcat有什么区别? Netty和Tomcat最大的区别就在于通信协议,Tomcat是基于Http协议的,他的实质是一个基于http协议的web容器,但是Netty不一样,他能通过 ...
- Hadoop基本介绍
1.Hadoop的整体框架 Hadoop由HDFS.MapReduce.HBase.Hive和ZooKeeper等成员组成,其中最基础最重要元素为底层用于存储集群中所有存储节点文件的文件系统HDFS( ...
- 浅谈APP流式分页服务端设计(转)
http://www.jianshu.com/p/13941129c826 a.cursor游标式分页 select * from table where id >cursor limit pa ...
- 详解管理root用户权限的sudo服务程序
在你想要使用超级权限临时运行一条命令时,sudo 命令非常方便,但是当它不能如你期望的工作时,你也会遇到一些麻烦.比如说你想在某些日志文件结尾添加一些重要的信息,你可能会尝试这样做: $ echo & ...
- Java归去来第1集:手动给Eclipse配置Maven环境
一.Eclipse配置Maven 1.1.下载Maven http://maven.apache.org/download.cgi,选择对应的版本,window下载apache-maven-3.5.3 ...