1、Spring的入门程序
1)HelloSpring类
src/main/java,com.sw包
public class HelloSpring {
private String userName;
public void setUserName(String userName){
this.userName=userName; }
public void show() {
System.out.println(userName + ":欢迎来到Spring");
}
}
2)配置文件
src/main/resources,applicationContext.xml。
<!-- 将指定类配置给Spring,让Spring创建HelloSpring对象的实例 -->
<bean id="helloSpring" class="com.sw.HelloSpring">
<!--为userName属性赋值-->
<property name="userName" value="张"/>
</bean>
3)测试
src/main/java,Test1类
public static void main(String[] args) {
// 初始化spring容器,加载applicationContext.xml配置
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
// 通过容器获取配置中helloSpring的实例
HelloSpring helloSpring = (HelloSpring)applicationContext.getBean("helloSpring");
helloSpring.show();
}
}
2、练习Spring依赖注入
1)构造方法注入
src/main/java,com.sw包,User1类
public class User1 {
private int id;
private String name;
private String password;
public User1(int id, String name, String password){
this.id=id;
this.name=name;
this.password=password;
}
//tostring
}
src/main/resources,applicationContext.xml。
<bean id="user1" class="com.sw.User1">
<constructor-arg name="id" value="1"/>
<constructor-arg name="name" value="张三"/>
<constructor-arg name="password" value="123"/>
</bean>
src/main/java,TestUser1测试类
public static void main(String[] args) {
//加载applicationContext.xml配置
ApplicationContext applicationContext=new
ClassPathXmlApplicationContext("applicationContext.xml");
//获取配置中的User1实例
User1 user1=applicationContext.getBean("user1", User1.class);
System.out.println(user1);
}
2)setter属性注入
src/main/java,com.sw包,User2类
public class User1 {
private int id;
private String name;
private String password;
//get、set
//tostring
}
src/main/resources,applicationContext.xml
<bean id="user2" class="com.sw.User2">
<property name="id" value="2"/>
<property name="name" value="李四"/>
<property name="password" value="456"/>
</bean>
src/main/java,TestUser2测试类
public static void main(String[] args) {
//加载applicationContext.xml配置
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
//获取配置中的User2实例
User2 user2 = applicationContext.getBean("user2", User2.class);
System.out.println(user2);
}
3、Spring依赖注入应用
1)Dao层
src/main/java,com.sw.dao包
public interface UserDao {
boolean login(String name,String password);
}
src/main/java,com.sw.dao.impl包
public class UserDaoImpl implements UserDao {
public boolean login(String name, String password) {
if (name.equals("张三")&&password.equals("123")){
return true;
}
return false;
}
}
2)Service层
src/main/java,com.sw.service包
public interface UserService {
boolean login(String name,String password);
}
src/main/java,com.sw.dao.impl包
public class UserServiceImpl implements UserService {
private UserDao userDao;
public void setUserDao(UserDao userDao){
this.userDao=userDao;
}
public boolean login(String name, String password) {
return userDao.login(name,password);
}
}
src/main/resources,applicationContext.xml。
<bean id="userDao" class="com.sw.dao.impl.UserDaoImpl"/>
<bean id="userService" class="com.sw.service.impl.UserServiceImpl">
<property name="userDao" ref="userDao"/>
</bean>
3)测试
src/main/java,新建Test3类
public static void main(String[] args) {
// 加载applicationContext.xml配置
ApplicationContext applicationContext = new
ClassPathXmlApplicationContext("applicationContext.xml");
// 获取配置中的UserService实例
UserService userService = (UserService)applicationContext.getBean("userService");
boolean flag = userService.login("张三", "123");
if (flag) {
System.out.println("登录成功");
} else {
System.out.println("登录失败");
}
}